捕获组合的正则表达式= 19,19

时间:2014-11-13 22:55:20

标签: regex unix search integer

我需要一个匹配下面所有行的模式,除了最后一行。我会认为这样做但没有匹配。有什么建议?基本上我在逗号后面=,或之前/之前/之间寻找它自己的第19行。

我的尝试:

^[[:space:]]*[=,]*19[[:space:],]

输入文件:

19
 19
=19
 =19
= 19
 = 19
,19
, 19
 ,19
 , 19
19,
19, 
19 ,
19 , 
,19,
,19 ,
,19, 
,19 , 
, 19,
 ,19,
 , 19,
 ,19 ,
, 19 ,
 , 19 ,
 ,19, 
, 19, 
 , 19, 
, 19 , 
 ,19 , 
 , 19 , 
=1999
19999
,9999

3 个答案:

答案 0 :(得分:2)

您可以按如下方式修改正则表达式。

^[[:space:]=,]*19[[:space:],]*$

Explanation | Live Demo

答案 1 :(得分:0)

一些使用字边界

的正则表达式片段

$ perl -ne '/\b19\b/ and print' file

$ awk '/\y19\y/{print}' file

$ sed -n '/\b19\b/p' file

$ grep -P '\b19\b' file

答案 2 :(得分:0)

否定正则表达式有效。

!?19[^\d]

http://regexpal.com/

上进行测试