正则表达式:如何从以另一种语言编写的标签中查找所有包含英文单词的 HTML 行

正则表达式:如何从以另一种语言编写的标签中查找所有包含英文单词的 HTML 行

我有这个 HTML 标签:

<p class="BEBE">着名的文学评论家Love有一些重要的东西来说,关于总是分享胜利的人才,转向他们的起源:</p>

<p class="BEBE">着名的文学评论家 有一些重要的东西来说,关于总是分享胜利的人才,kiss 转向他们的起源:</p>

因此,我必须从内容用另一种语言(例如 cz - chinesse)编写的标签中找到所有包含至少一个英文单词的行

但我不想找到这个:(因为没有英文单词)

<p class="BEBE">某些,真正的经济学,真正预测的是神圣的本质</p>

我的正则表达式不起作用,似乎找到了所有标签:

寻找:<p class="BEBE">.*[^\x00-\x7F]+.*</p>

或者,这个正则表达式仅查找那些只包含中文单词而不包含英文的 HTML 标签。

寻找:<p class="BEBE">+(?!\w+[\x00-\x7F]).*</p>

但我只需要那些至少包含一个英文单词的标签

答案1

解决方案,感谢@Toto

寻找:<p class="BEBE">+(\w+[\x00-\x7F]).*</p>

<em>另外,如果你想跳过包含或的标签</em>

寻找:<p class="BEBE">+(?!\w+</em>)+\w+(\w+[\x00-\x7F]).*</p>

或者

寻找:<p class="BEBE">+(?!\w+<em>).*(\w+[\x00-\x7F]).*</p>

答案2

您的正则表达式中有多余的空格:

<p class="BEBE">.* [^\x00-\x7F]+ .*</p>
#         here ___^    and   ___^

删除它们:

<p class="BEBE">.*[^\x00-\x7F]+.*</p>

截屏:

在此处输入图片描述

在此处输入图片描述

答案3

可以找到一些其他的解决方案这里:

寻找:<p class="BEBE"><em>.*[\x{4E00}-\x{9FFF}\x{FF00}-\x{FFEF}]</em></p>

或者

寻找:(?<=<p class="BEBE"><em>)[\x00-\x7F]+?(?=</em>)

相关内容