繁体   English   中英

正则表达式:如何匹配两个精确指定的4位数字之一

[英]Regexp: How to match one of two exactly specified 4 digit numbers

我正在看vim中的一个大文件,里面有很多数字。 我正在寻找一个在一个字段中具有数字1119的特定记录,而我知道2条记录以后在同一字段中具有数字1196。

我想搜索其中一个,但都突出显示了,

我努力了:

[1119|1196] which matches any of these single digits like 1.
{1119|1196} doesn't find anything (I am not sure what it looks for).
{1119,1196}

也没有找到任何东西。 我对此感到惊讶,因为我认为它应该查找1119或1196,并且这些数字在文件中确实存在很多次。

我也尝试将/ g放在末尾,但这也无济于事。

我也试过

(1119|1196), and that did not work either.

我也试过

((1119)|(1196)) and that did not work either.

有任何想法吗?

参见VimRegex.com

4.6变更
使用\\| 您可以将多个表达式组合成一个与其任何组成部分匹配的表达式。 将使用第一个匹配的内容。

\\(Date:\\|Subject:\\|From:\\)\\(\\s.*\\)

因此,您需要转义特殊字符:

\(1119\|1196\)

由于此处的分组适用于可以用\\0引用的整个模式( \\ 0->整个匹配的模式 ),因此您可以放心使用

1119\|1196

搜索两个数字。

但是,如果您需要找到两个数字作为一个完整的单词,请使用\\< / \\>单词边界(然后可以分组):

\<\(1119\|1196\)\>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM