这个怎么理解,正则

senhanxiao 2021-05-27 12:04:41
var reg = /\\/g;

"\sdfsd\dsfsd".replace(reg,'-')
"sdfsddsfsd"
"\sdfsd\\dsfsd".replace(reg,'-')
"sdfsd-dsfsd"
"\\sdfsd\\dsfsd".replace(reg,'-')
"-sdfsd-dsfsd"
...全文
247 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenjianhuacool 2021-06-24
  • 打赏
  • 举报
回复

反斜杠是转义。\s是代表空格,\S是代表非空格。\d是代表数字,\D是代表非数字,\{是代表{字符串左花括号,\(是代表字符串左括号。同样如果是要代表字符串\,那么你前面需要加\这个转义符,也就是\\了。当然,在js里面,/****/g,这种方式代表的是正则对象,内部星花,就是正则表达式。

gqkmiss 2021-05-27
  • 打赏
  • 举报
回复
\ 在正则里和字符串里 代表转移字符,如果要匹配字符串中的 \,需要在 \ 前面再加一个 \ \\ :第一个是转义字符,第二个才是实体 \ 字符。 "\asdfsd\dsfsd" "asdfsddsfsd" 你把上面的代码放在浏览器里面,会发现直接返回没有 \ 的字符串 "\sdfsd\dsfsd".length 10 长度为 10
三害 2021-05-27
  • 打赏
  • 举报
回复
在字符串中,俩个反斜杠被解释为一个反斜杠,然后在正则表达式中,俩个反斜杠又被解释为一个反斜杠, 所以: 例子1:"\sdfsd\dsfsd" 输出 即 "sdfsddsfsd",正则替换完之后还即:“sdfsddsfsd”; 例子2:"\sdfsd\\dsfsd"输出 即 “sdfsd\dsfsd”,正则替换完之后即:“sdfsd-dsfsd”; 例子3:"\\sdfsd\\dsfsd"输出 即 “\sdfsd\dsfsd”,正则替换完之后即: "-sdfsd-dsfsd",over
文盲老顾 2021-05-27
  • 打赏
  • 举报
回复
字符串转义问题 首先看正则,/\\/g,其实就是一个字符\,不过需要转义才可以定义 再看字符串"\sdfsd\dsfsd",这里没有字符\,因为\s\d都可以正确转义,\当转义符了 理解了这个,那么"\\sdfsd\\dsfsd"中有两个字符\,两个转义符,根据正则替换,就得到了上述结果

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧