regex - 匹配正则表达式中字符串最后一个实例之后的所有字符

标签 regex

我希望捕获正则表达式中字符串的最后一个实例之后的所有字符。

字符串(我们在最后一个实例之后搜索的字符串)如下所示,不带引号:" - " ,或\b\s\-\s\b : 边界(空白字符,前面是 - ,前面是空白字符)。

测试字符串如下:

One Thing - Two Things - Three Things - Four Things

所需的匹配:

Four Things

此正则表达式仅匹配字符串的第一个实例之后的所有内容:

(?<=\b\s\-\s\b)(.*)$

(返回,无引号: "Two Things - Three Things - Four Things" )

而这匹配最后一个单个字符之后的所有内容 - :

[^\-]+$

(返回,无引号: " Four Things" )

想法?

最佳答案

尝试使用正向回顾,然后对 - 进行否定分隔符并获取最后的结果

(?<=- )[^-]+$

https://regex101.com/r/sMX9FC/1

关于regex - 匹配正则表达式中字符串最后一个实例之后的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56943729/

相关文章:

python - 在 Python 中将单词/数字与符号分开

php - 包括特殊字符在内的任何英文 ASCII 字符的正则表达式

regex - 如何使用 sed/awk 切换/旋转每两行?

javascript - 保持生成过程中 Node.js 结果的顺序

php - 正则表达式中的希伯来语特殊字符

javascript - 这两个正则表达式之间的差异可以忽略不计吗?

javascript - 使用字母、数字和一些特殊字符进行文本框验证的正则表达式

regex - 如何使正则表达式宏工作?

xml - 用于标记大写警告数据的正则表达式

php - camelCase to dash - 两个大写字母相邻