js 正则表达式 \\-是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 正则表达式 \\-是啥意思相关的知识,希望对你有一定的参考价值。

这个正则可以匹配各种 url,比如当前页面的url
https://zhidao.baidu.com/question/876452972714524812.html
具体解释:
最左最右的 / 先忽略 是正则的界定符,表示正则的开始结束
(\w+) 表示长度大于1的字符串 (\w的含义自己搜一下)
: 比较单纯就是表示 :
\/\/ 这个表示 // 因为 / 跟上述界定符长得一样会导致程序懵逼,所以前面加了 \ 来转义
([\w.]+) 表示长度大于1 由\w和 .(点) 组成的字符串
\/ 同上
(\S*) 除空白符号之外的的任意字符任意长度
用 () 括起来表示要在代码里捕获这里面匹配的内容

你问的问题比较基础,建议先自学一下正则。推荐下面的教程
http://deerchao.net/tutorials/regex/regex-1.htm
学习正则不要急于求成,耐心看完+多实践
参考技术A \\-的意思就是匹配符号
"\"和"-"
,正则里会用\s
\w
来代表一些值,比如\s代表空格,\w代表[a-zA-Z0-9_]
,这里\就表示转义,所以要匹配"\"字符的时候要写成"\\"

JS~~!!!! /[^\d]/g 是啥意思啊

比如这句 obj.value.replace(/[^\d]/g,'')

不知道楼主看过JS的正则表达式没有?如果没有,下面的解释你听不懂,如果有,则你不用问!

/[^\d]/g
这是一个正则表达式,在JS中正则表达式用//表示,跟在其后的是匹配选项,比如是g表示匹配全局。比如是i则表示忽略大小写,等等,这是匹配模式。
[]则是定界符,其中的字符会出现一次,而[^]则是一个否定运算,表示其中的字符不能出现!如[A-Z]就表示出现一次A-Z中的任何一个字符(当然是大写)如果是[AZ]则表示出现A或Z。[^A-Z]则表示出现的字符不能是A-Z中的任何一个!
而[^0-9]则表示不能出现0-9中的任何一个!其实咱也可以换一种说法,不能出现任何一个数字,那么就可以表示成为[^\d],其中\d是元字符,表示一个数字。那么这里就是不能出现任何一个数字而已!

但我也不知道为什么会这样写,纯粹是胡闹,写程序的人不知道\D是非数字吗?
也就是说[0-9]=[0123456789]=\d=[\d]其实加不[]无关的!
那么[^0-9]=[^0123456789]=[^\d]=\D=[\D]这写法也是可行的!为什么会有这种写法?!胡闹的吧?
参考技术A 1、.replace(a,b) b代替a;
2、[^xyz] 负值字符集合。匹配未包含的任意字符。例如, '[^\d]' 可以匹配 不包含数字(\d)的任意字符。
3、.value.replace(/[^\d]/g,''),就是将.value内非数字的值替换为空('');
例如 <input type="text" onkeyup="value=value.replace(/[^\d]/g,'') "/>

以上是关于js 正则表达式 \\-是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

js正则表达式(^ ) 360WEBINDEXCK=([^;]*)(;\x24)是啥意思详细点谢谢

java 正则表达式是啥?

JS~~!!!! /[^\d]/g 是啥意思啊

正则表达式 “!\\^\\.\\*\\$!([^!]+)!” 是啥意思?

var regex = /^[\d\,\.]*$/;这个正则是啥含义

java正则表达式中是啥意思