想象这是大文本的一部分:
东西(word1 / Word2 / w0rd3)东西,东西(word4 / word5)东西/东西(word6)东西(word7 / word8 / word9)东西/东西,(w0rd10 / word11)东西(word12)东西(Word13 / w0rd14 / word15)填充资料(word16 / word17)。
我要这些话。结果必须匹配:
word1
Word2
w0rd3
word4
word5
word6
word7
word8
word9
w0rd10
word11
word12
Word13
w0rd14
word15
word16
word17
Run Code Online (Sandbox Code Playgroud)
而且结果不应该像这样:
(word1) or (word1/Word2/w0rd3)
Run Code Online (Sandbox Code Playgroud)
基本上没有(或)或/允许
我试过的
\((\w+)\/(\w+)\/(\w+)\)[^(]*\((\w+)\/(\w+)\)[^(]*\((\w+)\)
Run Code Online (Sandbox Code Playgroud)
这与那些单词匹配,但是我必须重复它,因为存在许多不干净的单词。我也尝试了txt2re,但是它也被复制了,它不是一行正则表达式。如果我想在在线正则表达式评估器上使用它,并且没有代码可访问,那么我需要一行和简短的正则表达式。我首选的引擎是Python和C#。
更新:
我已经/在文本中添加了一些内容。也很抱歉更改接受的答案,所有答案在某种程度上都是正确的,但是我必须在这里选择最快和最有效的正则表达式。
常见的解决方案是检查前面是否有关闭且中间)没有任何开口。(
\w+\b(?=[^)(]*\))
Run Code Online (Sandbox Code Playgroud)
因此,此模式之前不会检查空缺(,但通常不需要这样做。