Javascript 匹配字符串结尾的正则表达式模式
有人能告诉我正则表达式模式匹配字符串中最后一个“/”右边的所有内容吗 例如,str=“红色/白色/蓝色” 我想匹配“蓝色”,因为它是最后一个“/”右边的所有东西Javascript 匹配字符串结尾的正则表达式模式,javascript,regex,Javascript,Regex,有人能告诉我正则表达式模式匹配字符串中最后一个“/”右边的所有内容吗 例如,str=“红色/白色/蓝色” 我想匹配“蓝色”,因为它是最后一个“/”右边的所有东西 非常感谢 使用这个正则表达式模式:/([^/]*)$应该是 ~/([^/]*)$~ 意思是:匹配一个/,然后匹配所有非/([^/]*)直到结束($,“结束”-锚定) 我使用~作为分隔符,因为现在我不需要转义正斜杠/ 类似的方法应该可以使用:/([^/]*)$ 你用什么语言?字符串结尾正则表达式符号在不同语言中可能有所不同。使用以下模式
非常感谢 使用这个正则表达式模式:
/([^/]*)$
应该是
~/([^/]*)$~
意思是:匹配一个/
,然后匹配所有非/
([^/]*
)直到结束($
,“结束”-锚定)
我使用
~
作为分隔符,因为现在我不需要转义正斜杠/
类似的方法应该可以使用:/([^/]*)$
你用什么语言?字符串结尾正则表达式符号在不同语言中可能有所不同。使用以下模式:
/([^/]+)$
使用来匹配字符串的结尾
在Perl中,这看起来像:
my $str = 'red/white/blue';
my($last_match) = $str =~ m/.*\/(.*)$/;
var str = 'red/white/blue'.match(/.*\/(.*)$/);
用JavaScript编写,如下所示:
my $str = 'red/white/blue';
my($last_match) = $str =~ m/.*\/(.*)$/;
var str = 'red/white/blue'.match(/.*\/(.*)$/);
我使用的是javascript,效果很好。非常感谢。不过有一个问题:我也测试了不带“?”的/*\/(.*)$/模式,它似乎也能工作。你能告诉我区别吗。再次感谢。那篇文章太糟糕了。它甚至没有示例、分析或示例使用。贪婪的量词在这里会表现得更好,因为它们一次抓取量化模式可以匹配的所有字符,从而更快地到达字符串末尾(
$
)。我已经编辑了答案。