We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
该总结源于JavaScript正则表达式迷你书
正则是一种匹配模式。要么匹配字符串,要么匹配位置。
横向匹配 与 纵向匹配
{}、?、+、*。量词单位具体含义不再解释。
####贪婪匹配与惰性匹配 默认情况下都是贪婪匹配。 若想触发惰性匹配,需要在量词后加“?”
“|”,管道符分隔不同分支。 注意,管道符默认为惰性,即,管道符前边的模式匹配上了,就不会再去匹配后边的模式。 再次注意,管道符优先级最低。(牢记)
注意,大写字母对应的模式为小写字母的反面。即“\D”匹配所有的不是数字的内容。
// 举个例子 // 看如下正则: /(?=.*[0-9])^/ // 根据正则的语法可以看出“.*[0-9]”是一个整体,代表(?=p)里的p,根据上文中的定义。 // 可以理解为:表达式(?=.*[0-9])匹配一个位置,该位置后边是任意多个字符,再加上一个数字。 // ^符号代表开头。而在整个表达式中,因为^的存在,限制了(?=.*[0-9])这个表达式存在的位置,即,只 // 能在开头部分。 // 所以,表达式整体匹配规则为:该字符串从开头开始有任意多个字符,后接一个数字。 // 简单来讲,就是字符串必须有数字。 // 这个例子告诉我们,(?=p)的位置是会由其他元素影响的。(牢记重点,这是我之前一直不理解的)
需要注意以下几点:
回溯是正则的匹配原理,文字叙述太麻烦。请自己看书喽。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
该总结源于JavaScript正则表达式迷你书
一句话解释什么是正则
正则是一种匹配模式。要么匹配字符串,要么匹配位置。
两种匹配方向
横向匹配 与 纵向匹配
量词
{}、?、+、*。量词单位具体含义不再解释。
####贪婪匹配与惰性匹配
默认情况下都是贪婪匹配。
若想触发惰性匹配,需要在量词后加“?”
多选分支
“|”,管道符分隔不同分支。
注意,管道符默认为惰性,即,管道符前边的模式匹配上了,就不会再去匹配后边的模式。
再次注意,管道符优先级最低。(牢记)
几种简写方式
注意,大写字母对应的模式为小写字母的反面。即“\D”匹配所有的不是数字的内容。
匹配位置(六个位置的锚)
括号
分组
分组引用
反向引用
需要注意以下几点:
回溯
回溯是正则的匹配原理,文字叙述太麻烦。请自己看书喽。
正则优先级
The text was updated successfully, but these errors were encountered: