pre*_*per 4 regex non-greedy sublimetext
用一个例子更好地解释.
这是文字:
<li>hello
THE WORDS
</li>
<li> cruel </li>
<li> world THE WORDS </li>
Run Code Online (Sandbox Code Playgroud)
我想找到以字符串开头<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.
编辑:对于新的要求,使用此正则表达式:
(?s)<li>(?:(?!</li>).)*?THE WORDS.*?</li>
Run Code Online (Sandbox Code Playgroud)
说明
(?s)激活DOTALL模式,允许点跨线匹配<li> 匹配文字字符(?:(?!</li>).)断言后面的内容不是</li并匹配一个字符*?量词让我们懒洋洋地匹配到....THE WORDS*?量词让我们懒洋洋地匹配到....</li>原始答案(不同要求):
使用这个简单的正则表达式(在Sublime中测试):
x+[^xy]*z[^xy]*y+
Run Code Online (Sandbox Code Playgroud)
请参阅正则表达式演示中的匹配项.
说明
x+匹配一个或多个x字符[^xy]*匹配任何既不是x也不是a的字符yz匹配z我们想要的(确保至少有一个)[^xy]*匹配任何既不是x也不是a的字符yy+匹配一个或多个y字符| 归档时间: |
|
| 查看次数: |
3447 次 |
| 最近记录: |