查找两个HTML标记之间的确切单词

时间:2014-07-30 22:53:35

标签: regex tags

如果可能,我需要找到正确的正则表达式(Perl语法,因为我使用Sublime Text)来查找字符串'和'在两个span标签内。 这条线看起来像这样:

<span class="CEURAUTHORS">Xing Xu, Atsushi Shimada and Rin-Ichiro Taniguchi</span>

我已经尝试了

(?<=CEURAUTHORS">)\sand\s(?=.*</span>)

但这不是我想要的。 有什么想法吗?

2 个答案:

答案 0 :(得分:1)

假设没有嵌套标签,这里有三个选项,具体取决于您的正则表达式风格。

选项1:捕获组(适用于所有地方)

<span[^>]*>(?:(?!</span).)*( and )[^<>]*</span>

比赛在第1组

选项2:Perl中的\K,PCRE(PHP,R ...),Ruby 2 +

<span[^>]*>(?:(?!</span).)*\K and (?=[^<>]*</span>)

选项3:无限Lookbehind(用于Python的.NET,regex模块)

(?<=<span[^>]*>(?:(?!</span).)*) and (?=[^<>]*</span>)

答案 1 :(得分:0)

您可以使用此正则表达式:

<span.*?>.*(\band\b).*<\/span>

<强> Working demo

enter image description here