我试图显示两个不连续的所有电话号码" - "在里面。我尝试过这些表达方式:
block_exception clear_fix
但没有一个正在发挥作用。这是我第一次使用正则表达式而且我不知道我哪里出错了
答案 0 :(得分:2)
您可以尝试以下方式:
grep '^.*-.*-.*$' phones.txt
这将找到-
相邻而不是相邻的情况。 -
也可以在开头或结尾。
如果您希望将其限制为以下数字:
123-555-3456
即。 -
位于“中间”并以数字分隔,您可以使用限制性更强的:
grep '[0-9]\+-[0-9]\+-[0-9]\+' phones.txt
我的样本phones.txt
:
012-345-678
012-345
012-345-
-012-345
012345
543838--499
--
1-2-3
第二种模式符合以下条件:
012-345-678
1-2-3
我正在使用:grep(GNU grep)2.4.2
答案 1 :(得分:0)
非连续或连续可与(--?)
匹配。这是一个-
字符后跟一个-
,可以存在0或1次(可选地后跟)。