【发布时间】:2014-07-10 09:13:33
【问题描述】:
最好用一个例子来解释。
这是文本:
<li>hello
THE WORDS
</li>
<li> cruel </li>
<li> world THE WORDS </li>
我想查找以<li> 开头并以</li> 结尾并包含THE WORDS 的字符串。我希望只匹配<li> hello THE WORDS </li> 和<li> world THE WORDS </li>。
我尝试了什么:(?s)<li>.*?(THE WORDS).*?</li>
这样,第二个匹配是<li> cruel </li> <li> world THE WORDS </li>。
我正在使用 Sublime Text。
【问题讨论】:
-
我相信你的“例子”比实际数据更难。换行符是否总是在您的示例中的位置?字符串“xx”和“yy”可以出现在行内吗?
-
@RoToRa 我更新了我的示例。换行符可以在除“THE WORDS”和“
- ”部分之外的任何地方,文本中没有“
- ”。
-
啊,那里的情况非常、非常、非常不同。首先要说的是:您不应该在 HTML 中使用正则表达式。为什么你必须在这里使用 Sublime?考虑到这是 HTML,浏览器中的 JavaScript 会是更好的选择。
标签: regex sublimetext non-greedy