正则表达式匹配支持中文、字母、数字、_ 与 - (均可以存在或者不存在) 的写法如下:
^[\u4e00-\u9fa5a-zA-Z0-9_-]*$
这样的正则表达式限制了匹配的字符集,只能匹配中文、字母、数字、_ 与 - 这些字符,并且这些字符均可以存在或者不存在。
如果要限制不能存在 --,可以使用如下正则表达式:
^(?!.*--)[\u4e00-\u9fa5a-zA-Z0-9_-]*$
这样的正则表达式在上述基础上增加了一个负向预查,表示不能匹配包含 -- 的字符串。