我不知道如何实现这种匹配表达.目前我正在使用,
([A-Za-z0-9-]+)
Run Code Online (Sandbox Code Playgroud)
...匹配字母和数字.我还想在同一个表达式中匹配破折号和下划线.谁知道怎么样?
我希望能够匹配product_name和product-name
Joh*_*ler 91
只是逃避破折号以防止它们被解释(我不认为下划线需要逃脱,但它不会伤害).你没有说你正在使用哪个正则表达式.
([A-Za-z0-9\-\_]+)
Run Code Online (Sandbox Code Playgroud)
wax*_*ing 21
你的表达式应该已经匹配破折号,因为最后的 - 不会被解释为范围运算符(因为范围没有结束).要添加下划线,请尝试:
([A-Za-z0-9_-]+)
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 12
根据您的正则表达式变体,您可以简单地执行以下操作:
([\w-]+)
Run Code Online (Sandbox Code Playgroud)
此外,您可能不需要括号,除非这是更大表达式的一部分.