正则表达式,实在写不出来了
文章目录
问题描述:
正则需要匹配:包含大小写字母、特殊字符、数字三种中的两种,现在是能匹配到数字加纯小写或纯大写,看看一下正则怎么修改一下
^(?![\\d]+$)(?![a-z]+$)(?![A-Z]+$)(?![!#$%^&]+$)[\\da-zA-z!#$%^&]{8,16}$
或者直接给一个正则,谢谢啦!
网友观点:
https://segmentfault.com/q/1010000022241481?utm_source=tag-newest
正则表达式匹配“大写字母,小写字母,数字,特殊字符”四项中的至少三项_tanwenfang的博客-CSDN博客
匹配“大写字母,小写字母,数字,特殊字符”四项中的至少三项的正则表达式如下:“^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\\\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\\\\W_!@#$%^&*`~()-+=]+$)(?![0-9\\\\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\\\\W_...
https://blog.csdn.net/tanwenfang/article/details/80382803
PHP 正则匹配密码包含大小写字母、数字、特殊符号中的任意两种进行组合_码农的码-CSDN博客
//密码必须包含大小写字母/数字/符号任意两者组合/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)]|[\\(\\)])+$)([^(0-9a-zA-Z)]|[\\(\\)]|[a-z]|[A-Z]|[0-9]){6,}$/
https://blog.csdn.net/qq_41904362/article/details/108593231
1 2 3 4 |
//密码必须包含大小写字母/数字/符号任意两者组合 /^(?!<span>[0-9]</span>+$)(?!<span>[a-z]</span>+$)(?!<span>[A-Z]</span>+$)(?!(<span>[^(0-9a-zA-Z)]</span>|<span>[\\(\\)]</span>)+$)(<span>[^(0-9a-zA-Z)]</span>|<span>[\\(\\)]</span>|<span>[a-z]</span>|<span>[A-Z]</span>|<span>[0-9]</span>){6,}$/ |
/^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z\\W]+$)(?![a-z\\d]+$)(?![a-z\\W]+$)(?![\\d\\W]+$)\\S{8,16}$/;
还不会正则表达式?看这篇!
摘要: 正则表达式入门教程。
- 原文:还不会正则表达式?看这篇!
- 作者:MudOnTire
Fundebug经授权转载,版权归原作者所有。
正则表达式是很多程序员,甚至是一些有了多年经验的开发者薄弱的一项技能。大家都很多时候都会觉得正则表达式难记、难学、难用,但不可否认的是正则表达式是一项很重要的技能,所有我将学习和使用正则表达式时的关键点整理如下,供大家参考。
不同语言中的正则表达式写法有少许差异,本文将使用 Javascript 中的语法。
什么是正则表达式?
正则表达式(Regular Expression 或 Regex),是用于定义某种特定搜索模式的字符组合。正则表达式可用于匹配、查找和替换文本中的字符,进行输入数据的验证,查找英文单词的拼写错误等。
调试工具
下面列出了几款优秀的在线调试工具,如果你想创建或者调试正则表达式可能会需要。个人比较偏好Regex101,regex101 支持在正则表达式的不同 flavor 之间切换、解释你的正则表达式、显示匹配信息、提供常用语法参考等功能,非常强大。
- Regex101
- Regexr
- Regexpal
开始
在 Javascript 中,一个正则表达式以 /
开头和结尾,所以简单至 /hello regexp/
就是一个正则表达式。
Flags(标志符或修饰符)
Flags 写在结束的/
之后,可以影响整个正则表达式的匹配行为。常见的 flags 有:
g
:全局匹配(global);正则表达式默认只会返回第一个匹配结果,使用标志符g
则可以返回所有匹配i
:忽略大小写(case-insensitive);在匹配时忽略英文字母的大小写m
:多行匹配(multiline);将开始和结束字符(^和$)视为在多行上工作,即分别匹配每一行(由\\n
或\\r
分割)的开始和结束,而不只是只匹配整个输入字符串的最开始和最末尾处
Flags 可以组合使用,如:
Character Sets(字符集合)
用于匹配字符集合中的任意一个字符,常见的字符集有:
[xyz]
:匹配"x"
或"y"
"z"
[^xyz]
:补集,匹配除"x" "y" "z"
的其他字符[a-z]
:匹配从"a"
到"z"
的任意字符[^a-n]
:补集,匹配除"a"
到"n"
的其他字符[A-Z]
:匹配从"A"
到"Z"
的任意字符[0-9]
:匹配从"0"
到"9"
的任意数字
比如匹配所有的字母和数字可以写成:/[a-zA-Z0-9]/
或者 /[a-z0-9]/i
。
Quantifiers (量词)
在实际使用中,我们常常需要匹配同一类型的字符多次,比如匹配 11 位的手机号,我们不可能将 [0-9]
写 11 遍,此时我们可以使用 Quantifiers 来实现重复匹配。
{n}
:匹配n
次{n,m}
:匹配n-m
次{n,}
:匹配>=n
次?
:匹配0 || 1
次*
:匹配>=0
次,等价于{0,}
+
:匹配>=1
次,等价于{1,}
Metacharacters(元字符)
在正则表达式中有一些具有特殊含义的字母,被称为元字符,简言之,元字符就是描述字符的字符,它用于对字符表达式的内容、转换及各种操作信息进行描述。
常见的元字符有:
\\d
:匹配任意数字,等价于[0-9]
\\D
:匹配任意非数字字符;\\d
的补集\\w
:匹配任意基本拉丁字母表中的字母和数字,以及下划线;等价于[A-Za-z0-9_]
\\W
:匹配任意非基本拉丁字母表中的字母和数字,以及下划线;\\w
的补集\\s
:匹配一个空白符,包括空格、制表符、换页符、换行符和其他 Unicode 空格\\S
:匹配一个非空白符;\\s
的补集\\b
:匹配一个零宽单词边界,如一个字母与一个空格之间;例如,/\\bno/
匹配"at noon"
中的"no"
,/ly\\b/
匹配"possibly yesterday."
中的"ly"
\\B
:匹配一个零宽非单词边界,如两个字母之间或两个空格之间;例如,/\\Bon/
匹配"at noon"
中的"on"
,/ye\\B/
匹配"possibly yesterday."
中的"ye"
\\t
:匹配一个水平制表符(tab)\\n
:匹配一个换行符(newline)\\r
:匹配一个回车符(carriage return)
Special Characters (特殊字符)
正则中存在一些特殊字符,它们不会按照字面意思进行匹配,而有特殊的意义,比如前文讲过用于量词的?
、*
、+
。其他常见的特殊字符有:
\\
:转义字符,可以将普通字符转成特殊字符。比如\\w
;也可以将特殊字符转成字面意思,比如\\+
匹配"+"
.
:匹配任意单个字符,但是换行符除外:\\n
,\\r
,\\u2028
或\\u2029
;在字符集中([.]
),无特殊含义,即表示'.'
的字面意思|
:替换字符(alternate character),匹配|
前或后的表达式。比如需要同时匹配"bear"
和"pear"
,可以使用/(b|p)ear/
或者/bear|pear/
;但是不能用/b|pear/
,该表达式只能匹配"b"
和"pear"
^
:匹配输入的开始。比如,/^A/
不匹配"an Apple"
中的"A"
,但匹配"An apple"
中的"A"
$
:匹配输入的结尾。比如,/t$/
不匹配"eater"
中的"t"
,但匹配"eat"
中的"t"
。^
和$
在表单验证时常需要使用,因为需要验证从开始到结尾的一个完整输入,而不是匹配输入中的某一段
Groups(分组)
(xyz)
:捕获分组(Capturing Group),匹配并捕获匹配项;例如,/(foo)/
匹配且捕获"foo bar."
中的"foo"
。被匹配的子字符串可以在结果数组的元素 [1], ..., [n] 中找到,或在被定义的 RegExp 对象的属性 $1, ..., $9 中找到(?:xyz)
:非捕获分组(Non-capturing Group),匹配但不会捕获匹配项;匹配项不能再次被访问到\\n
:n
是一个正整数,表示反向引用(back reference),指向正则表达式中第 n 个括号(从左开始数)中匹配的子字符串;例如,/apple(,)\\sorange\\1/
匹配"apple, orange, cherry, peach."
中的"apple,orange,"
Assertion(断言)
x(?=y)
:仅匹配被y
跟随的x
;例如,/bruce(?=wayne)/
,如果"bruce"
后面跟着wayne
,则匹配之。/bruce(?=wayne|banner)/
,如果"bruce"
后面跟着"wayne"
或者banner
,则匹配之。但是,"wayne"
和"banner"
都不会在匹配结果中出现x(?!y)
:仅匹配不被y
跟随的x
;例如,/\\d+(?!\\.)/
只会匹配不被"."
跟随的数字。
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » 正则表达式,实在写不出来了