正则表达式 - 最后一次出现后的所有内容
Regex - everything after the last occurrence
我有这段文字:
ABC 关于天空的一切 ABC 和关于月亮的一切
我正在尝试编写一个正则表达式来获取最后一次出现 'ABC' 之后的所有内容:
示例:
ABC 关于天空的一切 ABC 和关于月亮的一切
关于月亮的一切
关于天空的ABC和关于月亮的ABC
关于月亮
我正在尝试下面的表达式,但它认为 ABC 是单独的字母,因此如果文本中的 'ABC' 之后有一个 'A',它将匹配错误:
[^ABC]*$
PS:我正在尝试一个不构成组的表达式,我正在使用 python3
如果不使用群组,您可以使用环视:
(?<=\bABC\s)(?!.*\bABC\b).*
(?<=\bABC\s)
正面回顾,断言 ABC 和左边的空白字符
(?!.*\bABC\b)
否定前瞻,断言右侧没有出现 ABC
.*
匹配任何字符 0+ 次(或者 .+
如果至少应该有一个字符)
如果你想在回顾断言中支持量词,你可以使用 PyPi regex module。例如
(?<=\bABC \d+ )(?!.*\bABC\b).*
我有这段文字:
ABC 关于天空的一切 ABC 和关于月亮的一切
我正在尝试编写一个正则表达式来获取最后一次出现 'ABC' 之后的所有内容:
示例:
ABC 关于天空的一切 ABC 和关于月亮的一切
关于月亮的一切
关于天空的ABC和关于月亮的ABC
关于月亮
我正在尝试下面的表达式,但它认为 ABC 是单独的字母,因此如果文本中的 'ABC' 之后有一个 'A',它将匹配错误:
[^ABC]*$
PS:我正在尝试一个不构成组的表达式,我正在使用 python3
如果不使用群组,您可以使用环视:
(?<=\bABC\s)(?!.*\bABC\b).*
(?<=\bABC\s)
正面回顾,断言 ABC 和左边的空白字符(?!.*\bABC\b)
否定前瞻,断言右侧没有出现 ABC.*
匹配任何字符 0+ 次(或者.+
如果至少应该有一个字符)
如果你想在回顾断言中支持量词,你可以使用 PyPi regex module。例如
(?<=\bABC \d+ )(?!.*\bABC\b).*