正则表达式字符串不包含数字

时间:2013-10-20 22:14:53

标签: ruby regex

我正在尝试匹配不包含数字的网址中的模式。

例如:

/painters/1-joe-bob/dashboard

我只想匹配以下网址:

/painters
/painters/string

如果网址包含/painters/1-something,那么就不应该匹配。

我一直在尝试以下但没有运气:

\/{1}(painters|contractors)\/?[^0-9][a-z]*

这仍然与/painters//contractors/

相匹配

请告知。

1 个答案:

答案 0 :(得分:3)

你可以试试这个正则表达式。如果在第二个正斜杠之后出现一个数字,它会使用负前瞻来禁止匹配。

^\/(painters|contractors)\/(?![0-9])

请注意,如果您不想在字符串中的任何位置使用数字,则可以在开头使用负向前瞻。

^(?!.*[0-9])\/(painters|contractors)\/

此构造将禁止包含数字的任何字符串。