正则expression式字母,数字,短划线和下划线

林不知道我怎么能实现这个匹配的expression。 目前我正在使用,

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

…匹配字母和数字。 我也想用相同的expression式在短划线和下划线上进行匹配。 任何人都知道?

我希望能够匹配product_name产品名称

只是逃脱破折号,以防止他们被解释(我不认为下划线需要逃脱,但它不能伤害)。 你不会说你正在使用哪个正则expression式。

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

你的expression式应该已经匹配破折号,因为最后的 – 不会被解释为范围运算符(因为范围没有结束)。 要添加下划线,请尝试:

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

根据你的正则expression式变体,你可以简单地做到这一点:

 ([\w-]+) 

另外,除非这是更大的expression式的一部分,否则您可能不需要括号。

你确实可以匹配所有这些angular色,但是逃避这个angular色更加安全-所以很明显这是从字面上理解的。

如果您正在使用POSIX变体 ,则可以select使用:

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

但是,因为你包括下划线,我会简单地使用:

([\w\-]+)

(适用于所有变种)