我需要一个正则表达式(在.htaccess中使用)具有以下属性,捕捉到一个三位数字和文本以下是:需要正则表达式匹配,而类似的URL模式
比赛:
/1-my-blog-post/
/100-another-blog-post/
不匹配:
/1/
/100/
到目前为止,我有:
RewriteRule ^(\d{1,2,3}\w+)/$ /post.php?s=$1 [L]
在此先感谢,因为它确实在扰乱我!
我需要一个正则表达式(在.htaccess中使用)具有以下属性,捕捉到一个三位数字和文本以下是:需要正则表达式匹配,而类似的URL模式
比赛:
/1-my-blog-post/
/100-another-blog-post/
不匹配:
/1/
/100/
到目前为止,我有:
RewriteRule ^(\d{1,2,3}\w+)/$ /post.php?s=$1 [L]
在此先感谢,因为它确实在扰乱我!
我看到你的正则表达式的一些问题
^(\d{1,2,3}\w+)/$
\d{1,2,3}
必须是\d{1,3}
你只要给最小和最大金额
\w
还包括数字和_
但不-
也许一个更好的解决办法是
^/(\d{1,3}[a-zA-Z-]+)/$
[a-zA-Z-]
是一个字符类,从定义什么字符匹配内。我不知道字母范围a-zA-Z是否适合你,但是你可以添加任何你想匹配的字符到这个类中[a-zA-ZöäüÖÄÜ&?-]
在Perl这将是
^\d{1,3}[^\d].*
我假设的3个数字后的字符不能是数字,当然,它从字符串的开头是recived(因为你把它放在你的榜样)
我建议你试试这个,因为大多数正则表达式在其他语言是从Perl复制的。 – m0skit0 2011-08-17 13:03:36
它没有完全匹配我想要做的,但我从你的答案中找出它。谢谢 – 2011-08-30 22:28:05