我不确定如何实现这个匹配表达式。目前我正在使用:
([A-Za-z0-9-]+)
我想匹配字母和数字,还希望在同一个表达式中匹配破折号和下划线。 有人知道怎么做吗?
我想能够匹配product_name和product-name
我不确定如何实现这个匹配表达式。目前我正在使用:
([A-Za-z0-9-]+)
我想匹配字母和数字,还希望在同一个表达式中匹配破折号和下划线。 有人知道怎么做吗?
我想能够匹配product_name和product-name
只需转义破折号以防止它们被解释(我认为下划线不需要转义,但这样做无妨)。您没有说使用哪个正则表达式。
([A-Za-z0-9\-\_]+)
你的表达式应该已经匹配了破折号,因为最后的 - 不会被解释为一个范围操作符(因为这个范围没有结束)。如果要添加下划线作为匹配对象,尝试以下方法:
([A-Za-z0-9_-]+)
根据你所使用的正则表达式变体,你可能只需做如下操作:
([\w-]+)
另外,除非这是一个较大表达式的一部分,否则您可能不需要使用括号。
([[:alnum:]\-_]+)
,但由于您包括了下划线,所以我建议您直接使用:([\w\-]+)
(适用于所有变体)。
([A-Za-z0-9\-_]+)
代替! :) - Gifford N.