【发布时间】:2012-08-02 20:05:59
【问题描述】:
我已经完成了一个正则表达式来匹配下一个模式的 url:
part1-part2-part3.html
在哪里
part1:是常用词
part2:是一个带下划线的字母数字单词,至少包含 2 个字母
part3:是一个数字词,有1到10位数字
例如,一个有效的网址是:
news-my_news_title_200_is-12345.html
所以
第 1 部分 = 新闻
第 2 部分 = my_news_title_200_is
第 3 部分 = 12345
我来了:
/^[a-z]+-([a-z0-9_]*(?=[a-z]{2,})[a-z0-9_]*).-([0-9]{1,10})\.html$/
用类表示:
/^\w+-([\w\d_]*(?=\w{2,})[\w\d_]*).-(\d{1,10})\.html$/
但我想有更好的方式来表达 R.E. 的第 2 部分。模式。
提前致谢。
【问题讨论】:
-
一个明显的节省是使用快捷方式而不是范围,因此
\w用于字母数字字符,\d用于数字字符等 -
我知道,但我指的是第 2 部分中的前瞻表达式
-
2个字母要不要连续?