我正在搜索正则表达式((e)grep 正则表达式)以匹配以下字符串;该模式"小于或等于E
的数量,而不是前一组E
中的模式。"
示例:
应匹配:EEEEEEE EEE EE EE E
不匹配:E EE EE E EEEE
我正在考虑尝试否定一些事情,但这并没有像预期的那样成功。
答案 0 :(得分:3)
echo 'EEEEEEE EEE EE EE E' | egrep -v '\b(E+)\b.*\1E' # => EEEEEEE EEE EE EE E
echo 'E EE EE E EEEE' | egrep -v '\b(E+)\b.*\1E' # => no matches
我们的想法是,在完成E
s(\b(E+)\b
)的完整序列后,不应再出现相同序列和另一个E
{{1} })。显然,我们使用\1E
进行否定。