从查询中排除字符串

时间:2014-02-07 00:15:29

标签: regex

目前,我使用以下正则表达式来过滤网址:

2014/^[0-9]+$

但是,我需要修改它以便能够容纳这样的事情:

2014/54648/aslug

我想从匹配中排除aslug部分,因此我只将2014/54648作为匹配,但我不知道如何执行此操作。

2014/^[0-9]+$查询的结果

2014/51643/mary   < exclude from the results
2014/36544/       
2014/46454/mike   < exclude from the results
2014/51643/julie  < exclude from the results

2 个答案:

答案 0 :(得分:1)

试试这个:

^2014/[0-9]+

删除$就足够了。

2014/51643/mary不匹配,因为^2014/[0-9]+$要求最后一个字符应为数字。所以^2014/[0-9]+应该足够了,因为它会匹配'2014 /'然后是所有后续字符,直到它们是数字。

此外,^[0-9]应仅为[0-9]^应仅用于表示字符串的开头或是否为组否定(例如/ [^ xyz] * / g将匹配字母x的字符串的每个字符,y或z)

答案 1 :(得分:0)

这对你有用吗?

(2014\/[0-9]+)\/\w+

\ w是包含下划线的“任何单词字符”,括号标记所包含的部分,因此您可以在匹配中引用“\ 1”或某些内容,具体取决于您使用的库。