javascript - 包含 1 个引用的正则表达式与所需字符串不匹配

标签 javascript regex

我正在研究这个正则表达式,但我对它的工作原理感到困惑。

/^(\d+)\s\1\s\1$/

我知道

^ is start of line 
() shows capture group
\d+ shows digits 
\s is whitespace 
\1 shows to match first group
$ the end 

令人困惑的部分是 $ 这里 以及为什么它匹配 "40 40 40 " 不是 "40 40 40 40"$

的作用

最佳答案

\1 指的是正则表达式中的第一个捕获组。 \2 将引用第二个捕获组,\n 将引用第 n 个捕获组。

在正则表达式/^(\d+)\s\1\s\1$/中。 \1 将匹配第一个捕获组 (\d+) 匹配的唯一一组数字。

$ in /^(\d+)\s\1\s\1$/ 表示应该多一位结束。

^ in /^(\d+)\s\1\s\1$/ 意味着它应该多一位开始。

关于javascript - 包含 1 个引用的正则表达式与所需字符串不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59871470/

相关文章:

javascript - 如何在我的 html 上使用 getJSON

javascript - 真的被javascript es6箭头函数的 "enclosing scope"搞糊涂了

javascript - 定义正则表达式

python - 查找并替换为以小写字母开头的正确句子案例句子。正则表达式或崇高

python - 如何捕捉一组最长的序列

sql - 来自 CLOB 的 Oracle REGEXP_SUBSTR

javascript - 如何使 CSS 下拉菜单在单击时出现/更改

javascript - 将脏话过滤器添加到简单的 Socket.IO 应用程序

javascript - React Native - 在子事件处理程序更新父状态后,子中的 .Map() 项目不会重新渲染

java - Java 正则表达式线程安全吗?