簡體   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