我有一个正则表达式问题,例如:
我要寻找一个正则表达式匹配BZBZB只是ñ倍.
在一条线上.所以,如果我只想匹配序列一次,我应该只将第一行作为输出.
该字符串出现在文本中的随机位置.正则表达式应该与grep或egrep兼容...
提前谢谢.
Kei*_*win 11
grep '\(.*BZBZB\)\{5\}'将执行5次,但这将匹配出现5次或更多次的任何内容,因为grep检查行的任何子字符串是否匹配.因为grep没有任何方法可以对正则表达式中的字符串进行负匹配(只有字符),所以单个命令无法做到这一点,除非,例如,您知道要匹配的字符串中使用的字符不是用于别处.
但是,您可以在两个grep命令中执行此操作:
cat temp.txt | grep '\(.*BZBZB\)\{5\}' | grep -v '\(.*BZBZB\)\{6\}'
将返回BZBZB恰好出现5次的行.(基本上,它正在进行5次或更多次的正面检查,然后进行6次或更多次的否定检查.)
| 归档时间: |
|
| 查看次数: |
17741 次 |
| 最近记录: |