Regex 正则表达式字母、数字、破折号和下划线

Regex 正则表达式字母、数字、破折号和下划线,regex,Regex,我不知道如何才能达到这个匹配表达式。目前我正在使用 ([A-Za-z0-9-]+) …与字母和数字匹配。我还想匹配同一表达式中的破折号和下划线。有人知道怎么做吗 我希望能够匹配product_name和product name您的表达式应该已经匹配了破折号,因为final-将不会被解释为范围运算符(因为范围没有终点)。要同时添加下划线,请尝试: ([A-Za-z0-9_-]+) 只要避开破折号就可以了(我不认为下划线需要避开,但这不会有什么坏处)。你没有说你正在使用哪个正则表达式 ([A-Z

我不知道如何才能达到这个匹配表达式。目前我正在使用

([A-Za-z0-9-]+)
…与字母和数字匹配。我还想匹配同一表达式中的破折号和下划线。有人知道怎么做吗


我希望能够匹配product_nameproduct name

您的表达式应该已经匹配了破折号,因为final-将不会被解释为范围运算符(因为范围没有终点)。要同时添加下划线,请尝试:

([A-Za-z0-9_-]+)

只要避开破折号就可以了(我不认为下划线需要避开,但这不会有什么坏处)。你没有说你正在使用哪个正则表达式

([A-Za-z0-9\-\_]+)

根据您的正则表达式变量,您可能可以简单地执行以下操作:

([\w-]+)

此外,除非这是更大表达式的一部分,否则可能不需要括号。

您确实可以匹配所有这些字符,但转义
-
更安全,这样就可以清楚地看到它是按字面意思来理解的

如果您正在使用,您可以选择使用:

([[:alnum:\-\\+)

但是a因为您包含了下划线,我只想使用:

([\w\-]+)


(适用于所有变体)

作为跟进,如何在排除期间的同时应用上述规则?例如,我想忽略图像。png@George除新问题外,请不要在任何地方提出后续问题。评论并不支持这一点;答案并非如此;如果你有一个新问题,问一个新问题。“但这不会有什么坏处”——是的,如果你在HTML5中使用它,它会抛出一个“
无效正则表达式:/([a-Za-z0-9\-\\\\\+)/:无效转义”
“错误!”!。改用
([A-Za-z0-9\-\\+)
)这是一个.htaccess文件,所以我需要括号,因为正如你所说,它是在一个更大的表达式中:)这对我来说很有效,我认为使用“word”快捷方式更简洁。实际上我使用了[\w-]*