【问题标题】:What is the meaning of this regular expression in java script [closed]java脚本中这个正则表达式的含义是什么[关闭]
【发布时间】:2013-05-09 20:34:16
【问题描述】:

这句话是什么意思。看不懂?

function escapeRegExp(string){
  return string.replace(/([.*+?^=!:${}()|[\]\/\\])/g, "\\$1");
}

【问题讨论】:

  • 哪一部分你不明白?这是一个简单的character class,每次出现都被自己替换,前面有一个反斜杠。
  • 当你不了解它的作用时,为什么要使用(或想使用)它?
  • 我正在阅读教程并试图了解发生了什么......所以我现在没有在任何地方使用它
  • 大家我刚开始学习javascript,我知道替换函数是什么我只是无法理解正则表达式的含义所以请不要投反对票,因为我正在学习阶段

标签: javascript regex


【解决方案1】:

这具有在该正则表达式集[...] 中的某些字符之前引入反斜杠字符\ 的功能。

字符是:. * + ? ^ = ! : $ { } ( ) | [ ] / \

请注意,其中一些必须用\ 转义,因为它们在正则表达式的上下文中(如/)和在集合中(如])具有特殊含义。

正则表达式中的外括号具有“捕获”结果匹配的效果,在函数的第二个参数中,$1 是该捕获的结果。 /g 选项表示“全局”重复,或者匹配的次数。

【讨论】:

  • / 实际上在正则表达式中没有任何特殊含义 - 它只是一个斜线。它仅在由斜杠分隔的正则表达式文字中相关。
  • @Bergi 感谢您的意见
  • @Bergi 在 this 正则表达式中具有特殊含义,是更正确的措辞。在这方面你是对的。
【解决方案2】:

这个函数会在string中的下列字符前插入一个反斜杠,并返回结果:

 . * + ? ^ = ! : $ { } ( ) | [ ] / \

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-29
    • 1970-01-01
    • 2022-01-06
    • 2011-04-20
    相关资源
    最近更新 更多