Regex 正则表达式-匹配避免括号的句子

Regex 正则表达式-匹配避免括号的句子,regex,keyword,parentheses,sentence,Regex,Keyword,Parentheses,Sentence,我需要制作一个正则表达式来匹配大文本中的关键字 大文本的示例如下所示: …另一个句子结尾关键字:标记1、标记2、标记3(可能包含 类似于参考文献1),标签4和标签5。另一句话 已经开始 正则表达式必须提取: 关键词:标签1、标签2、标签3(可能包含 类似于参考文献1),标签4和标签5 我有以下代码: \bKeywords:[^\.]+ 但问题是正则表达式没有避开括号内的文本,而是以“.ref.1..”上的点停止 谢谢大家! 注意:单词“tag”是一个示例,它可以是任何单词。假设paranthe

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

大文本的示例如下所示:

…另一个句子结尾关键字:标记1、标记2、标记3(可能包含 类似于参考文献1),标签4和标签5。另一句话 已经开始

正则表达式必须提取:

关键词:标签1、标签2、标签3(可能包含 类似于参考文献1),标签4和标签5

我有以下代码:

\bKeywords:[^\.]+
但问题是正则表达式没有避开括号内的文本,而是以“.ref.1..”上的点停止

谢谢大家!


注意:单词“tag”是一个示例,它可以是任何单词。

假设paranthes不能嵌套:

我正在匹配:

(?:[^(.]|\([^)]*\))*
                   * 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

如果paranethes可以嵌套,那么regex就不是您想要的,因为您尝试捕获的语言是。

您可以尝试以下
关键字:(tag\d\s?(\(.*)?(,|和)?\s?+
?首先,感谢您的回复!“tag”这个词就是一个例子,它可以是任何一个词。那么这应该有效吗<代码>关键字:(.++\d\s?(\(.*))?(,|和)?\s?++它不起作用:/这里有一个大文本的真实示例:。。。关键词:吸水性,ASTM规范,硅酸钙砖,抗压强度,混凝土砖,尺寸,面壳和腹板厚度,总面积,净面积,规范,测试,吸水性2012版国际建筑规范(IBC)(参考文献1),以及最新的ASTM版本。代码官员通常会…尝试\b关键字:.*(=\.\s[A-Z])它可以工作!谢谢你和另一个试图帮助我的人!