我想做一个贪婪匹配一个替代零或'm'连续发生的'a'或零到'n'连续发生的'b'。如果我做替代贪婪的匹配
/a{,m}|b{,n}/
它不会工作,因为当我的“B”序列,它将匹配“a {,M}”和替代“B {,N}”不会被看不起在,它不会是一个贪婪的比赛。
我想做一个贪婪匹配一个替代零或'm'连续发生的'a'或零到'n'连续发生的'b'。如果我做替代贪婪的匹配
/a{,m}|b{,n}/
它不会工作,因为当我的“B”序列,它将匹配“a {,M}”和替代“B {,N}”不会被看不起在,它不会是一个贪婪的比赛。
如果我明白你什么正确地做,怎么样/(?:a{1,m}|b{1,n})?/
它会匹配任何连续一个的(高达米倍),或连续B的字符串中的字符串(最多到n次),或根本没有任何可选的?
。
我认为默认情况下,量词很贪婪,从左到右。所以它不是一个真正的贪婪问题,你在非a
的存在下交替匹配{0,m}。如果他们第一次出现,它会匹配到'米'。
贪婪似乎比人们猜测的要复杂。
'AAAAAAAAAA'=〜/(a{1,2}) (a{1,2}?) (a{1,4}) (a{4,12}+)/x
& &
打印"'$1', '$2', '$3', '$4'
“?
'aa', 'a', 'aaa', 'aaaa'
你抱怨正则表达式看起来并不好:) – 2011-03-31 15:53:46
你想配什么图案我'给人的印象是你不明白'[ab]'的作用 – zzzzBov 2011-03-31 15:55:26
请给出一个你想匹配的目标字符串的例子 – 2011-03-31 15:57:52