我有一个包含由多个字符分隔的序列的字符串:<<
and >>
。我需要一个正则表达式来只给我最里面的序列。我已经尝试过前瞻,但它们似乎没有按照我期望的方式工作。
这是一个测试字符串:
'do not match this <<but match this>> not this <<BUT NOT THIS <<this too>> IT HAS CHILDREN>> <<and <also> this>>'
它应该返回:
but match this
this too
and <also> this
正如你在第三个结果中看到的,我不能只使用/<<[^>]+>>/
因为字符串可能有一个分隔符字符,但不能连续有两个字符。
我刚从反复试验中走出来。在我看来这不应该这么复杂。
@matches = $string =~ /(<<(?:(?!<<|>>).)*>>)/g;
(?:(?!PAT).)*
是模式为[^CHAR]*
是对人物。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)