如何在这个正则表达式中限制逗号?

时间:2015-08-18 14:36:48

标签: regex

我正在使用此正则表达式来匹配网址:

^((http|https|ftp)://)?(([\w-]+\.)+[^#?\s]+)(.*)?(#[\w\-]+)?$

现在,我想在此正则表达式中禁用逗号。

1 个答案:

答案 0 :(得分:1)

为了禁止使用正则表达式中的逗号,只需使用否定字符类将其排除:

^((http|https|ftp)://)?(([\w-]+\.)+[^,#?\s]+)([^,]*)?(#[\w-]+)?$
                                    ^^        ^^^^^

请参阅{{3}}

请注意我将.*替换为[^,]*,这意味着匹配0个或更多字符而不是逗号。这样,您可以进一步调整正则表达式,包括您不希望在网址中看到的更多字符。