正则表达式
Posted oymo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。
/^(?=.*[A-Za-z])(?=.*d)[A-Za-zd!@#$]{6,16}$/
表示长度为6-16位包含数字+字母,可以包含或不包含特殊符号的密码
.表示匹配除" "(换行符)和" "(回车符)之外的任何单个字符。
*表示匹配前面的子表达式任意次。例如,zo*能匹配"z",也能匹配“zo”以及“zoo”。*等价于{0,}。
()表示将(和)之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正在表达式中最多可以保存9个),它们可以用1和9的符号来引用。
(?=pattern)表示费获取匹配,正向肯定预查,在任何匹配pattern的字符串开始匹配查找字符串,该匹配不需要获取以后使用。例如,“window(?=95|98|XT|2000)”能匹配“window2000”中的“window”,但不能匹配“window3.1”中的“window”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是包含预查的字符之后开始。
W匹配任何非单词字符,等价于"[^A-Za-z0-9]"
第一个括号里面标识必须匹配到数字d
第二个括号表示必须匹配到字母
第三个中括号表示字符集合,匹配所包含的任意一个字符。例如,‘[A-Za-zd!@#$]’可以匹配“abc123!@#”中的"abc123@#"
三个条件由()括号取和集同时成立
代码、语法 | 说明 |
W | 匹配任意不是字母、数字、下划线、汉字的字符 |
S | 匹配任意不是空白符的字符 |
D | 匹配任意非数字的字符 |
B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配aeiou这几个字母以外的任意字符 |
* | 重复0次或更多次 |
+ | 重复1次或更多次 |
? | 重复0次或1次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
(exp) | 匹配exp,并捕获文本到自动命名的组里 |
(?<name>exp) | 匹配exp,并捕获文本到名称为name的组里,也可以写成(?‘name‘exp) |
(?:exp) | 匹配exp,不捕获匹配的文本,也不给此分组分配组号 |
(?=exp) | 匹配exp前面的位置 |
(?!exp) | 匹配后面不是exp的位置 |
(?<!exp) | 匹配前面不是exp的位置 |
(?#comment) | 这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读 |
*? | 重复任意次,但尽可能少重复 |
+? | 重复1次货更多次,但尽可能少重复 |
?? | 重复0次或1次,但尽可能少重复 |
{n,m}? | 重复n到m次,但尽可能少重复 |
{n,}? | 重复n次以上,但尽可能少重复 |
a | 报警字符(打印它的效果是电脑嘀一声) |
通常是单词分界位置,但如果在字符类里使用代表退格 | |
制表符,Tab | |
回车 | |
v | 竖向制表符 |
f | 换页符 |
换行符 | |
e | Escape |