这似乎是一个基本的问题,但我已经做了相当多的搜索,也找不到答案。
假设我有许多组数字
9-9-9
999
123
1-23
12-3
444
55-5
我想要为所有数字设置egrep,现在我可以这样做的一种方法是设置一个egrep并联合所有可能性的正则表达式。
egrep '0-90-90-9|0-90-90-9‘等等
有没有办法在我的正则表达式中指定0-9或NULL或-字符?所以我可以编写一个不带联合的正则表达式,比如0-90-9-NULL0-9-NULL,然后让它返回所有的组?
因此它要搜索的组如下所示
第六个0-9,NULL
任何帮助都是非常感谢的。
发布于 2013-06-14 01:41:00
不包括'Null‘部分,因为我不太确定这是什么意思,您对egrep使用了一个简单的正则表达式:
[0-9](-?[0-9]){2}-?表示0次或1次发生-。
{2}表示前面的组重复两次。将其更改为+,表示至少一次。
发布于 2013-06-14 01:40:01
尝试如下所示的正则表达式
\d[-0-9]+一次或多次使用破折号或0-9
编辑
或者必须以数字开头和结尾(或只有一个数字
\d[-0-9]*\d|\d编辑
或者总是三位数
\d{3}|\d-\d{2}|\d{2}-d发布于 2013-06-14 01:41:07
我认为egrep '[0-9][0-9\-]*'应该提供你想要的行为。
https://stackoverflow.com/questions/17093508
复制相似问题