改变正则表达式以匹配反向字符串

时间:2017-01-17 11:24:21

标签: php regex

我有正则表达式:\\([A-Z][\w]+::)与字符串\CustomLib::get...\Resize::get...\Models::get...匹配,也可能是其他类似的字符串。

我想改变正则表达式:\\([A-Z][\w]+::)以获取没有前导反斜杠的列表字符串实例,如CustomLib::get...Resize::get...Models::get...

1 个答案:

答案 0 :(得分:1)

如果它们前面没有反斜杠,似乎你想要匹配子串。

使用negative lookbehind (?<!\\)

'~(?<!\\\\)\b[A-Z]\w+::~'

请参阅regex demo

请注意,如果您的输入中可能包含转义实体,则需要考虑文字反斜杠,并使用

'~(?<!\\\\)(?:\\\\\\\\)*\b([A-Z]\w+)::~'

请参阅this regex demo