Regex 匹配正则表达式中字符串最后一个实例后的所有字符
我希望捕获正则表达式中最后一个字符串实例之后的所有字符 字符串(我们在最后一个实例之后搜索的字符串)如下所示,无引号:Regex 匹配正则表达式中字符串最后一个实例后的所有字符,regex,Regex,我希望捕获正则表达式中最后一个字符串实例之后的所有字符 字符串(我们在最后一个实例之后搜索的字符串)如下所示,无引号:“-”,或\b\s\-\s\b:边界(空格字符,前面加-,前面加空格字符) 测试字符串如下所示: 一件事-两件事-三件事-四件事 所需匹配: 四件事 此正则表达式仅匹配字符串第一个实例之后的所有内容: (?*(?尝试使用正向查找,然后在-分隔符上取反,并获取最后一个结果 (?我想你不需要使用环视仪就可以找到你的对手 您可以匹配任何字符,除了字符串开头的换行符和匹配模式之外。这将匹
“-”
,或\b\s\-\s\b
:边界(空格字符,前面加-
,前面加空格字符)
测试字符串如下所示:
一件事-两件事-三件事-四件事
所需匹配:
四件事
此正则表达式仅匹配字符串第一个实例之后的所有内容:
(?*(?尝试使用正向查找,然后在-
分隔符上取反,并获取最后一个结果
(?我想你不需要使用环视仪就可以找到你的对手
您可以匹配任何字符,除了字符串开头的换行符和匹配模式之外。这将匹配最后一个实例
然后在一个组中捕获匹配0+倍的任何字符(换行符除外),直到字符串结束
^.*\b\s\-\s\b(.*)$
^
字符串的开头
*
匹配除换行符以外的任何字符
\b\s\-\s\b\
匹配您的模式
(.*)
在组1中捕获匹配0+乘以除换行符以外的任何字符的内容
$
字符串结尾
未列出任何工具或编程语言,但如果支持\K
以忘记匹配的内容,则还可以使用:
^.*\b\s\-\s\b\K.*$
这匹配字符串的结尾,所有不是-
的内容都在-
之后
-\s*([^-]+)$
这是我能想到的最简单的正则表达式。我对\b不太了解,在php中似乎也不太好…如果没有它,我就可以使用*(?@AntonyGibbs),它是单词边界上的零长度匹配。并非所有地方都支持它,但由于OP给出了一个示例,我认为它在他使用的环境中是受支持的。