regex 将两个正则表达式模式写入另一个模式

k7fdbhmy  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(85)

我有一些字符串可以用两种不同的方式编写。我试图在同一个正则表达式中提取这两种模式。
我希望做的第一件事是提取子字符串之前的子字符串(我将其称为“endWord”)
所以

Title Text (Descriptor Text) endword - More words i don't want

会变成"Title Text (Descriptor Text)"
接下来,在我刚刚提取的这个子字符串中,我希望只提取" ("前面的单词(如果它存在的话)
所以最终结果将是"Title Text"
(.+?(?= endWord))(.+?(?= \())以无结果结束

hmae6n7t

hmae6n7t1#

您可以使用

^(.*?)\s+\([^()]*\)(?=\s+endword\b)

请参阅regex demo

  • 详细数据 *:
  • ^-字符串开始
  • (.*?)-组1:尽可能少的零个或多个除换行符以外的字符
  • \s+-一个或多个空格
  • \([^()]*\)-(,除()之外的零个或多个字符,然后是)
  • (?=\s+endword\b)-需要一个或多个空格和紧接在当前位置右侧的整个字endword的正前瞻。

相关问题