首页 > 解决方案 > 正则表达式 Regex 提取字符串

问题描述

请有人可以帮助我,我是正则表达式的新手,不知道该怎么做!

我试图从一个看起来像这样的列表中提取......

Joe-Age23-46737-251.aspx
Tim-Age18-46909-451.aspx
Roger-Age41-59768-251.aspx

我想要的是这个...

46737-251.aspx
46909-451.aspx
59768-251.aspx

所以基本上是倒数第二个连字符之后的任何内容。

干杯

标签: regex

解决方案


让我们将“倒数第二个连字符之后的所有内容”翻译成正则表达式:

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

解释:

(?<=-)  # Assert starting position right after a hyphen
[^-]*   # Match zero or more characters except hyphens
-       # Match a single hyphen
[^-]*   # see above
$       # until end of string.

在 regex101.com 上进行实时测试。


推荐阅读