首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex -匹配语句避免括号

Regex -匹配语句避免括号
EN

Stack Overflow用户
提问于 2018-08-02 16:17:14
回答 1查看 212关注 0票数 1

我需要做一个正则表达式来匹配大文本中的关键字。

大文本的一个例子可以是:

...another语句结尾关键词: tag 1,tag 2,tag 3(可能包含类似这个引用的内容)。1),标签4和标签5.另一句已经开始.

regex必须提取:

关键词:标签1,标签2,标签3(可能包含类似的引用。1)、标签4和标签5

我有以下代码:

代码语言:javascript
复制
\bKeywords:[^\.]+

但问题是正则表达式并没有避免括号内的文本,而是以"..ref. 1..“上的点结束。

谢谢大家!

注意:“标签”这个词就是一个例子,它可以是任何一个词。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-02 17:36:02

假设parantheses不能嵌套:Keywords: (?:[^(.]|\([^)]*\))*

我在匹配:

代码语言:javascript
复制
(?:[^(.]|\([^)]*\))*
                   * as many times as possible
(?:               )  non-capturing
        |            either:
   [^(.]             a character that's not an opening paranthesis or a dot, or
         \(     \)   inside literal parantheses
           [^)]*     as many characters that aren't closing parantheses as possible

如果可以嵌套parantheses,那么regex并不是您想要的,因为您试图捕获的语言是上下文无关

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51658169

复制
相关文章

相似问题

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