首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex -如果存在三种模式,如何进行分组

Regex -如果存在三种模式,如何进行分组
EN

Stack Overflow用户
提问于 2015-09-23 23:17:18
回答 2查看 58关注 0票数 0

我正在尝试使用正则表达式来搜索HTML页面上的某些元素,并捕获是否满足三种模式。任何帮助都将不胜感激。

元素是javascript,可以在多行上。

我正在寻找任何匹配的模式

代码语言:javascript
复制
<script XXXXXXXXX>
ZZZZZZ
ZZZZZZ
ZZZZZZ
ABCDEF
ZZZZZZ
ZZZZZZ
</script>

我需要捕获所有Z以及ABCDEF

XXXXXX可以是任何东西。

我试过了

代码语言:javascript
复制
<script[^>]*>(([\s\S]*?)ABCDEF([\s\S]*?)<\/script>

但这似乎也捕获了没有ABCDEF的元素。

代码语言:javascript
复制
<script>
QWERTY
</script>

<script>
ZZZZZZ
ABCDEF
ZZ@#<%
</script>


<script>
ASDFG
</script>

在本例中,我只想捕获

代码语言:javascript
复制
ZZZZZZ
ABCDEF
ZZ@#<%

在它之前或之后都没有。

EN

Stack Overflow用户

发布于 2015-09-24 07:05:08

使用这个模式,这应该会给出你想要的结果

<script[^>]*>([\s\S]+)(?=(\bABCDEF\b))([\s\S]+)<\/script>

匹配组1和组3

请在此处查看演示https://regex101.com/r/wL4iL7/4

说明

代码语言:javascript
复制
<script[^>]*>: matches script and everything within it

[\s\S]+: matches all white space and non whitespace characters

(?=(\bABCDEF\b)): a look ahead to check if ABCDEF is present with boundaries \b surrounding it 

<\/script>: matches the closing script
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32743436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档