PHP preg_replace正则表达式

use*_*134 1 php regex preg-replace

如何使用正则表达式使用preg_replace删除给定字符之后的任何内容以及给定字符之后的任何内容?当然,这可以通过爆炸和条带化等许多其他方式来完成.但我对preg_replace和regex很好奇.

所以我从下面的字符串中唯一需要的是03b并删除/和斜杠(/)之后和/和点(.)之后的所有内容

$string = 'rmbefore/03b.rmafter'
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Jan*_*omä 5

您可以在preg_replace中使用反向引用来执行此操作:

preg_replace('#.*/([^\.]+)\..*#', '$1', $input);
Run Code Online (Sandbox Code Playgroud)

这会搜索除斜杠之外的任何内容,然后将下面的字符串作为一个点,将其放在第1组(即围绕它的'()'),然后是一个点和其他内容,并将其替换为第1组的内容(括号内的表达式,在您的示例中应为"03b").这是一个关于正则表达式的好网站:http://www.regular-expressions.info/php.html.

希望这可以帮助.