我正在尝试通过PHP ereg找到HTML标签,该标签在结束标记之前有{xxx}
- 其中xxx
可以是[A-Za-z0-9_\-]*
。
例如:<p>xxxx</p><p>yyyy{asdf}</p>
这是我能想到的最好的:/<([\w]+)([^>]?)>([^{]*)\{([^}]+)\}<\/\1>/is
问题是,它匹配第3组将有xxxx</p><p>yyyy
,在这种情况下我只想要yyyy
。
希望有人可以帮助,欢呼,Egil。
聚苯乙烯。抱歉没用的标题,想不出更好的东西。
答案 0 :(得分:3)
在正则表达式中的每个?
和+
之后添加*
。这会使比赛变得不那么贪心。
否则,请尝试将<>
添加到否定字符类[^{<>]*
和[^}<>]*
,以在其中排除标记。