假设输入字符串/en/614/5d
或/en/617/19
,使用PHP的正则表达式函数我想删除所有非数字(/\D/
)字符,但{{1在第二个和第三个斜杠之间或614
。
我知道我可以使用split或explode来分割字符串但是我需要一个正则表达式模式来与preg_replace一起使用来仅提取第二个和第三个斜杠之间的数字。
谢谢。
答案 0 :(得分:1)
preg_replace('/^\/[^\/]+\/|\/.+$/','',$string);
答案 1 :(得分:0)
我仍然会爆炸,但如果你坚持正则表达式:
preg_replace('|^/.*/(\d+)/.*$|','/$1/',$yourString)
括号定义捕获组1,您可以使用“$ 1”在替换中引用它。 '^'是字符串的开头'$'结尾,所以我们捕获所有字符串。
答案 2 :(得分:0)
我认为这应该更好,更简单
preg_replace('/\D/', '', $input_lines); //replace any non digit