Regex 删除字符最后出现之前的所有内容(包括)

Regex 删除字符最后出现之前的所有内容(包括),regex,Regex,请帮助我在最后一次出现/使用正则表达式后获取所有信息。 我的变量如下所示: http://domain.com/folder/subfolder/123456 http://domain.com/folder/subfolder/678901 etc. 我只需要最后一个之后的部分/ i、 e 目前我使用的是/[^/]*$,但这会给我/123456和/678901。您应该在regexp中使用括号,而不是通过引用访问\1 例如,如果长度不等于6,则应进行更新: <?php preg_mat

请帮助我在最后一次出现/使用正则表达式后获取所有信息。 我的变量如下所示:

http://domain.com/folder/subfolder/123456
http://domain.com/folder/subfolder/678901
etc.
我只需要最后一个之后的部分/ i、 e


目前我使用的是/[^/]*$,但这会给我/123456和/678901。

您应该在regexp中使用括号,而不是通过引用访问\1

例如,如果长度不等于6,则应进行更新:

<?php

preg_match('/\/(\d{6})$/', 'http://domain.com/folder/subfolder/123456', $m);
var_dump($m[1]);

只需匹配字符串中非/$前面的最后一个字符:

或者,使用\w+和锚点:

(\w+)$

哪种口味?我想任何口味都可以,只需捕获你想要的部分:/[^/]*$然后用零替换/并结束一天…@TonyHinkle这么多回溯都是徒劳的。。。最好还是留下/作为锚。
string(6) "123456"
([^\/]+)$
(\w+)$