-
电话号码验证
-
身份证号码验证
-
密码强度验证
-
网址验证
-
汉字验证 [\u4e00-\u9fa5]
-
…
-
凡是有一定规律的,批量的数据获取,都可以使用正则表达式来完成
元字符
| 字符 | 说明 |
| — | — |
| . | 代表的是换行符以外的任意字符。 换行符是:(不同的操作系统有不同的换行符) \n \r\n |
| \w | 匹配字母、数字、下划线、汉字的一个字符 |
| \s | 匹配任意的空白符 |
| \d | 匹配数字 |
| ^ | 匹配字符串的开始 |
| $ | 匹配字符串的结束 |
反义代码
反义代码的意思就是与元字符表示相反的代码
-
\W 匹配的任意 不是 字母、数字、下划线、汉字 的字符
-
\S 匹配任意 不是 空白符的字符
-
\D 匹配任意 不是 数字的字符
限定符
符号 | 说明 |
* | 代表的重复0次或者是多次 |
+ | 代表的重复1次或者是多次 |
? | 代表的是重复0次或者是1次 |
{n} | 重复n次,举例:{3}指的就是重复3次 |
{n,} | 重复n次或者更多次数 |
{n,m} | 重复n次到m次,所以这里m一般要比n大 |
分组匹配
findall / search/match 区别¶
-
findall 是查找所有的
-
search 匹配第一个
-
match 匹配开头的
贪婪与非贪婪
-
贪婪的意思是尽可能多的匹配
-
非贪婪的意思就是尽可能少的匹配
-
非贪婪操作符是问号:‘符号?’
-
?号代表的是重复0次或者是1次,再加一个问号,代表的是非贪婪操作,那么最后就只匹配0次
分支条件匹配
- 使用 | 来分隔开不同的正则表达式,代表着 条件1 或 条件2 或条件3 …
零宽断言
-
匹配"正则表达式reg"前边的位置 (?=reg)
-
匹配"正则表达式reg"后边的位置 (?<=reg)
-
匹配后边跟的不是"正则表达式reg"的位置 (?!reg)
-
匹配前边不是"正则表达式reg"的位置 (?<!reg)
常用的实用正则表达式
-
输入零和非零开头的数字:“^(0|[1-9][0-9]*)$”。
-
输入有两位小数的正实数:“^[0-9]+(.[0-9]{2})?$”。
-
输入有1~3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”。
-
输入非零的正整数:“^”+?[1-9][0-9]*$"。
-
输入非零的负整数:“^”-[1-9][]0-9"*$。
-
输入长度为3的字符:“^.{3}$”。
-
输入由26个英文字母组成的字符串:“^[A-Za-z]+$”。
-
输入由26个大写英文字母组成的字符串:“^[A-Z]+$”。
-
输入由26个小写英文字母组成的字符串:“^[a-z]+$”。
-
输入由数字和26个英文字母组成的字符串:“^[A-Za-z0-9]+$”。
最后
🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!