考虑到这些网址:正则表达式URL重写,如果与其他然后
1: http://site/page-name-one-123/
2: http://site/page-name-set2/
3: http://site/set20
我写这个表达式将被应用到最后的URL段:
(?(?<=set[\d])([\d]+)|([^/]+))
我会想什么do只是在URL段以'set'开头并且紧跟在后面的数字时捕获'set'后面的每个数字;否则我想使用整个段(不包括斜杠)。
正如我写这个正则表达式,它匹配任何不是'/'的字符。我想我在测试陈述中做错了什么。 任何人都可以指出我的权利?
感谢
UPDATE 感谢Josh输入我打得四处了一下,发现这一个更符合我的需求:
set-(?P<number>[0-9]+)|(?P<segment>[^/]+)
这正是我一直在寻找...谢谢! – brainondev 2012-04-22 12:33:12