编写包括中文字、英文字母、数字、连接号和下划线的正则表达式中的疑问

 我来答
勇素芹代雨
2019-02-26 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:35%
帮助的人:1110万
展开全部
这里有两个问题需要先搞清楚,
首先,用\w实现汉字的匹配是受你的操作系统和语言环境影响的,
大部分语言环境下\w相当于[A-Za-z0-9_],
也就是仅匹配任意一个字母或数字或下划线。
其次,“[]”括起来的形式在正则中表示字符集合,字符集中只有4个
字符具有特殊含义:“]”代表字符集定义的结束;“\”代表转义;“^”代表取反;“-”代表范围定义。
在中括号中使用特殊字符时要转义,其他都是普通字符,不用转义。所以如果你的本意是匹配若干\w或若干-,写成[\w\-]*就可以了。
至于/^(\w*)|(-*)]*$/我猜你是想问/^[(\w*)|(-*)]*$/,这个同样错在没搞明白“[]”中的特殊字符。这样写的意义就成了匹配任意字母或数字或下划线、小括号、“|”以及“(”到“*”间所有字符。
“|”的含义,“|”在“[]”外时表示或,在“[]”里时表示这个字符本身。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式