正则表达式:根据前一组长度匹配可变数量的字符
Regex: Match variable amount of characters based on previous group length
我正在寻找一个正则表达式(一个 (e)grep 正则表达式)来匹配以下字符串;模式是 "lesser than or equal amount of E
's than in the previous set of E
's."
示例:
应该匹配:EEEEEEE EEE EE EE E
不应该匹配:E EE EE E EEEE
我正在考虑尝试一些带有否定的东西,但没有达到预期的效果..
echo 'EEEEEEE EEE EE EE E' | egrep -v '\b(E+)\b.*E' # => EEEEEEE EEE EE EE E
echo 'E EE EE E EEEE' | egrep -v '\b(E+)\b.*E' # => no matches
这个想法是,在获取完整的 E
序列 (\b(E+)\b
) 之后,不应该再出现相同的序列加上另一个 E
(E
).显然,我们用-v
来表示否定。
我正在寻找一个正则表达式(一个 (e)grep 正则表达式)来匹配以下字符串;模式是 "lesser than or equal amount of E
's than in the previous set of E
's."
示例:
应该匹配:EEEEEEE EEE EE EE E
不应该匹配:E EE EE E EEEE
我正在考虑尝试一些带有否定的东西,但没有达到预期的效果..
echo 'EEEEEEE EEE EE EE E' | egrep -v '\b(E+)\b.*E' # => EEEEEEE EEE EE EE E
echo 'E EE EE E EEEE' | egrep -v '\b(E+)\b.*E' # => no matches
这个想法是,在获取完整的 E
序列 (\b(E+)\b
) 之后,不应该再出现相同的序列加上另一个 E
(E
).显然,我们用-v
来表示否定。