我有一些字符串可以用两种不同的方式编写。我试图在同一个正则表达式中提取这两种模式。
我希望做的第一件事是提取子字符串之前的子字符串(我将其称为“endWord”)
所以
Title Text (Descriptor Text) endword - More words i don't want
会变成"Title Text (Descriptor Text)"
接下来,在我刚刚提取的这个子字符串中,我希望只提取" ("
前面的单词(如果它存在的话)
所以最终结果将是"Title Text"
。(.+?(?= endWord))(.+?(?= \())
以无结果结束
1条答案
按热度按时间hmae6n7t1#
您可以使用
请参阅regex demo。
^
-字符串开始(.*?)
-组1:尽可能少的零个或多个除换行符以外的字符\s+
-一个或多个空格\([^()]*\)
-(
,除(
和)
之外的零个或多个字符,然后是)
(?=\s+endword\b)
-需要一个或多个空格和紧接在当前位置右侧的整个字endword
的正前瞻。