我需要一个正则表达式向导的帮助,或者比我更了解这一点的人(这意味着有很多候选人:)
我正在尝试匹配第一个和第二个斜杠之间发生的所有事情,不包括那些斜线,如果没有开始和尾部斜杠,则没有任何内容:
$subject = '/1234-abcd/blahblah';
$pattern = '/^\/(.*)\//';
preg_match($pattern, $subject, $matches);
print_r($matches);
结果如下:
Array
(
[0] => /1234-abcd/
[1] => 1234-abcd
)
我关门了。 $ matches [1]的结果是我之后的结果,但是它不匹配它作为它的第一个数组项(而是第一个捕获的子模式)。
如何在此正则表达式模式中排除起始斜杠和尾部斜杠?
谢谢!
答案 0 :(得分:5)
您可以使用此正则表达式:
$pattern = '#(?<=/)[^/]+#';
并使用preg_match_all
代替preg_match
PS:请注意,您也可以使用explode
按/
拆分输入,并避免完全使用正则表达式。