我有这 2 个 html 标签。我想查找所有仅包含 4 个单词的 html 标签(在我的示例中仅包含第一行)
<p class="mb-40px">My name is prince</p>
<p class="mb-40px">Soul Travel is a spiritual practice that enables you to explore</p>
我尝试了这个,但效果不太好:
寻找:(<p class="mb-40px">)(.*?)(?:\W*+\w++){1,4}(.*?)</p>
答案1
这个正则表达式可以做到:
<p class="mb-40px">(\w+[^\w]*){4}[^\w]*</p>
它搜索<p>
标签以及恰好 4 次出现的单词和随后任意数量的非单词字符(包括零个)。
答案2
稍加修改,您的正则表达式就没问题了。
删除所有格量词*+
&++
和无用的(.*?)
。
- Ctrl+F
- 找什么:
<p class="mb-40px">(?:\W*\w+){4}\W*</p>
- 查看 环绕
- 查看 正则表达式
- Find Next
解释:
<p class="mb-40px"> # start tag
(?: # non capture group
\W* # 0 or more non word character
\w+ # 1 or more word character
){4} # end group, must appear exactly 4 times
\W* # 0 or more non word character
</p> # end tag
截屏: