我正在使用此项目所需的应用程序,该应用程序必须使用正则表达式输入来预先过滤来自html / javascript的数据。
我看过文章谴责使用正则表达式过滤html;但是我必须在这种情况下。
我需要帮助的问题(似乎无法轻易解释)是找到data_1中包含的TAGS。
<TAG>
.
..
...
data_1
...
..
.
</TAG>
我尝试了很多不同的方法,但我对正则表达式的整体体验有限。
示例1:
\<TAG.*\bdata_1\b.*?/TAG\>
不起作用,因为它实际上抓住了第一个通过/ TAG&gt;直到找到“data_1”然后在下一个/ TAG&gt;
结束我知道我目前正走在正确的轨道上,但是我在2天前开始学习Regex并且还没到那里。
任何链接,评论和建议都将非常受欢迎。
它仍然会选择所有前面的TAGS。
***BEGIN***
<TAG>
....
.....
</TAG>
<TAG>
...
data_1
...
</TAG>
***END***
应该是:
<TAG>
....
.....
</TAG>
***BEGIN***
<TAG>
...
data_1
...
</TAG>
***END***
答案 0 :(得分:1)
答案 1 :(得分:0)
您需要使所有通配符(.*
)匹配非贪婪(.*?
),并且您可能还需要“点匹配换行符”切换<?s>
。我还清理了你的<TAG>
文字
<?s>(<TAG>.*?\bdata_1\b.*?</TAG>)
你没有说你正在使用哪种语言,但是如果你抓住每场比赛的第1组,你就会有你的标签