我想知道如何仅在一行开头匹配特定字符串的情况下捕获文本,但我不想捕获开头的字符串...
例如,如果我有以下文本:
BEGIN_TAG:要捕获的文本 WRONG_TAG:不需要捕获的文本
我想捕获的是: 要捕获的文本
从以BEGIN_TAG开头的行中获取:而不是以WRONG_TAG开头的行。
我知道如何选择以所需文本开头的行:^BEGIN_TAG:\W?(.*)
但这将选择文本“BEGIN_TAG:”...我只想要“BEGIN_TAG”后面的文本。
我正在使用PCRE正则表达式。
例如,如果我有以下文本:
BEGIN_TAG:要捕获的文本 WRONG_TAG:不需要捕获的文本
我想捕获的是: 要捕获的文本
从以BEGIN_TAG开头的行中获取:而不是以WRONG_TAG开头的行。
我知道如何选择以所需文本开头的行:^BEGIN_TAG:\W?(.*)
但这将选择文本“BEGIN_TAG:”...我只想要“BEGIN_TAG”后面的文本。
我正在使用PCRE正则表达式。
(?:)
。 - Eli Sadoff(?<=^BEGIN_TAG:\W)(.*)$
,如果你还想匹配文本后面没有非单词字符的情况,你还需要(?<=^BEGIN_TAG:)(.*)$
。 - user1544337