我正在尝试匹配看起来像这样的字符串:
<$Fexample text in here>>
用这个表达式:
<\$F(.+?)>{2}
但是,在某些情况下,我的反向引用内容包含“&gt;”,因此类似这样:
<$Fexample text in here <em>>>
仅在后向引用中匹配example text in here <em
。如果有或没有这些html实体,我需要做些什么才能有条件地返回正确的后退?
答案 0 :(得分:5)
您可以将开始和结束锚点添加到正则表达式中:
^<\$F(.+?)>{2}$
答案 1 :(得分:3)
尝试
<\$F(.+?)>>(?!>)
(?!>)
仅强制>>
长序列中的最后>>>..>>>
次匹配。
编辑:
<\$F(.+?>*)>>
也有效。
答案 2 :(得分:0)
请注意,除了真正做(我认为)你想做的事情,你必须解释格式正确的括号表达式,这是常规语言无法实现的。
换句话说,<$Fexample <tag <tag <tag>>> example>> oh this should not happen>
将返回example <tag <tag <tag>>> example>> oh this should not happen
作为捕获组。