使用 php preg_match,警告
regex:^([^\/])/([A-Z])([^\/]+)/([^\/]+)/$
要匹配的字符串: http://127.0.0.1:8008/BeiJing/FangChan/
我使用 preg_match() 进行测试
if (preg_match('/^([^\/])/([A-Z])([^\/]+)/([^\/]+)/$/',"http://127.0.0.1:8008/BeiJing/FangChan/",$match))
print $match[0];
else
print 'not match';
,但收到警告: preg_match() [function.preg-match] : 未知修饰符 '('
谁能帮我编写这个正则表达式,使其对 preg_match 函数有效?我尝试了很多不同的想法,但我对正则表达式真的不太了解。
regex:^([^\/])/([A-Z])([^\/]+)/([^\/]+)/$
string to match: http://127.0.0.1:8008/BeiJing/FangChan/
I use preg_match() to test
if (preg_match('/^([^\/])/([A-Z])([^\/]+)/([^\/]+)/$/',"http://127.0.0.1:8008/BeiJing/FangChan/",$match))
print $match[0];
else
print 'not match';
but get a Warning: preg_match() [function.preg-match]: Unknown modifier '('
Can anyone help me write this regex so it's valid for the preg_match function? I've tried a ton of different ideas but I'm really not too knowledgeable with regex.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
/
是指示示例中模式的开始和结束的内容,模式后面的任何内容都是修饰符。所以这样:
读作如下:
使用修饰符
([AZ])([^/]+)/([^/]+)/$/
你必须转义所有
/< /code> 或更改开始和结束指示符:
/
is what is indicating the start and the end of the pattern in your example, whatever comes after the pattern is a modifier.So this:
Gets read as this:
With modifiers
([A-Z])([^/]+)/([^/]+)/$/
You have to escape all
/
's or change the start and end indicator:您需要通过在其前面放置 \ 来转义您使用的 / 。或者将第一个和最后一个 / 更改为其他内容,例如:
但是此正则表达式将与 url 不匹配。
You need to escape the / you use by putting a \ in front of it. Or change the first and last / to something else like:
But this regexp will not match the url.