Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 解释这段JavaScript_Regex - Fatal编程技术网

Regex 解释这段JavaScript

Regex 解释这段JavaScript,regex,Regex,我想了解这行JavaScript的含义 (/^\w+, ?\w+, ?\w\.?$/) 我理解“w”代表“word”,但需要您帮助理解“/”、“^”、“+”、“?”、“?$/” 谢谢..这是一个,不是HTML 它位于Javascript中的正则表达式文本(/…/)的内部 ^匹配字符串的开头 \w匹配任何单词字符 +与前一组中的一个或多个匹配 ?匹配上一个集合中的零个或一个(在本例中为单个空格) \。匹配一个。(未转义的匹配任何单个字符) $匹配字符串的结尾 它不是HTML代码,而是正则表达式

我想了解这行JavaScript的含义

(/^\w+, ?\w+, ?\w\.?$/)
我理解“w”代表“word”,但需要您帮助理解
“/”、“^”、“+”、“?”、“?$/”

谢谢..

这是一个,不是HTML

它位于Javascript中的正则表达式文本(
/…/
)的内部

  • ^
    匹配字符串的开头
  • \w
    匹配任何单词字符
  • +
    与前一组中的一个或多个匹配
  • 匹配上一个集合中的零个或一个(在本例中为单个空格)
  • \。
    匹配一个
    。(未转义的
    匹配任何单个字符)
  • $
    匹配字符串的结尾
    • 它不是HTML代码,而是正则表达式。了解更多信息:


      在计算中,正则表达式, 也称为regex或regexp, 提供简洁灵活的方法 用于匹配文本字符串,例如 特定的字符、单词或符号 字符的模式。常客 这个表达是用正式的语言写的 一种能被语言解释的语言 正则表达式处理器 用作解析器的程序 生成器或检查文本和 标识与目标匹配的零件 提供规范


      /^\w+,?\w+,?\w\.?$/

      从外到内

      • /
        分隔符
      • ^$
        匹配整个字符串(
        ^
        表示匹配开头,
        $
        表示匹配结尾)
      一个接一个

      • \w
        表示单词字符(仅
        w
        与ASCII字符不匹配
        w
      • \w+
        单词字符(至少一个,尽可能匹配)
      • 表示空格是可选的,匹配0或1个空格字符
      • 匹配任何非换行符的字符(可以配置正则表达式修饰符)
      • \。
        (如示例中所示)正好匹配一个点

        • 让我们把它分解一下,因为这样更容易阅读:

          ^ beginning of the line \w+ 1 or more 'word' characters , a comma ? an optional space \w+ 1 or more 'word' characters , a comma ? an optional space \w a single 'word' character \.? an optional period $ end of line ^行首 \w+1个或多个“单词”字符 ,逗号 ? 可选空间 \w+1个或多个“单词”字符 ,逗号 ? 可选空间 \w单个“单词”字符 \.? 可选择的时段 $行尾
          “单词”字符的含义是字母数字字符或下划线。

          它是一个正则表达式,用于查找一组单词字符(如字母、数字或下划线),这些字符中有两个逗号,每个逗号后有一个可选的空格。

          HTML在什么上下文中执行正则表达式?如果是HTML,然后它表示字符串
          (/^\w+,?\w+,?\w\。?$/)
          。HTML是标记,但与代码相反;很有可能你正在研究Javascript。@安德烈·泽伊有这么高的声誉,你可以帮助我们把这个问题变成一个更好的问题。我的手被绑住了。是的,是javascript。对不起,我犯了这个错误。@pestaa-我不喜欢重写人们的问题(格式/拼写/语法都可以),除非他们很糟糕,但无论如何都能得到很好的答案。此外,讽刺的是,最需要改写的往往是那些无法理解提问者想说什么的。(但不是这个。)请注意,对“word”字符使用
          \w
          (在许多情况下)意味着任何一个具有字母属性、十进制数字属性或低端(即下划线)的字符字符。此外,
          ^
          $
          有时可以匹配行边界,而不仅仅是字符串边界。不要只说“word”;解释它是
          [\pL\p{Nd}]
          。通常
          不匹配任何字符,只匹配非换行符。有时它匹配任何字符,有时它匹配任何非
          \R
          的字符。但是在发布的模式中没有未替换的
          。@tchrist改进了答案,感谢您的反馈。我特意引入了
          ode>和
          \.
          分别强调了后者的存在。对于一个新手来说,区别可能并不简单。谢谢。一个符合这些标准的实际表达式,特别是“?\w\.?”@tchrist部分…谢谢你的.和\.解释,事实上,我是一个新手,他们两人都做了这件事s更清晰。@Roy'\w\.?'将匹配“A”、“b”等。您可能不希望以问号开头表达式。请注意,有15104个代码点被视为
          \w
          ,因为
          是unichars‑⁠bmp‑⁠astral'\w'| wc-lˋ==15104
          。谢谢tchrist…我不懂“unichars‑1”⁠bmp‑⁠星体'\w'| wc-lˋ==15104',你能详细说明一下吗?