我需要一个正则表达式的帮助,它会在一行中获得模式的最后一个实例。
有问题的行用以下模式编写(用斜杠分隔):
/this/is/how/it/looks/
在上面的例子中,我希望得到looks
作为输出。
请注意,这些行不均匀,并且可以包含比示例更少或更多的字符串。
/it/can/be/shorter/
/it/can/also/be/longer/than/most/lines/
对于上述内容,我希望分别获得shorter
和lines
。
答案 0 :(得分:5)
/([^/]*)/$
是你需要的正则表达式。
<强>解释强>
/ # Match a slash
( # Start capturing group number 1
[^/]* # Match any number of characters except slashes
) # End capturing group number 1
/ # Match a slash
$ # Match the position at the end of the string
答案 1 :(得分:3)
如果你使用Powershell,你可以这样写:
$line.TrimEnd("/").Split("/")[-1]
如果您确定始终存在尾部斜杠,则可以跳过修剪步骤:
$line.Split("/")[-2]
答案 2 :(得分:2)
您可以使用\w+(?=/$)
,这将匹配每行中的姓氏
解释
\w+
任意一组字符a-z,A-Z,0-9和_。
(?=/$)
正向前瞻然后是字符串的结尾。
答案 3 :(得分:0)
抽象模式:(这适用于空格,你可以用你想要的任何东西替换第一个'文字字符')
---- / ----
(\ .[^\ ]+)(?=$)
干杯