sugarbeet
正则表达式
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
sugarbeet
社区首页
>
专栏
>
正则表达式
正则表达式
sugarbeet
关注
发布于 2022-09-26 19:18:16
发布于 2022-09-26 19:18:16
749
0
举报
文章被收录于专栏:
小满的技术录
小满的技术录
正则表达式
标准字符集合
\n 代表换行符
\t 制表符
\\ 代表\本身
^ , \$ , \( , \) , \{ , \} , ? , \+ , \* , \| , \[ , \] 匹配这些字符本身
\d 匹配任意一个数字,0-9之间任意一个
\D 匹配除了数字外所有
\w 匹配任意一个字母数字下划线,A-Z , a-z ,0-9, _
\W 匹配除了字母数字下划线以外的
\s 匹配空格,制表符,换行符等空白字符中其中以一个
\S 匹配非空格,制表符,换行符等空白字符
. 小数点可以匹配任意一个字符(除了换行符),如果匹配换行符一般用[\s\S]
自定义字符集合
[ ]方括号匹配方式,能够匹配方括号中任意一个字符
注意:
正则表达式的特殊符号,被包含到中括号中,则失去特殊意义,除了^,-之外。
标准字符集合,除了小数点外,如果被包含到中括号中,自定义字符集合将包含该集合。比如:
[\d.\-+] 将匹配:数字、小数点、+、-
[ab5@] 匹配'a'或'b'或'5'或'@'
[^abc] 匹配'a','b','c'以外的任意字符
[f-k] 匹配f~k之间的字符
[^A-F0-3] 匹配A-F,0-3之外的任意字符
量词
注意:
贪婪模式:匹配字符越多越好(默认)
非贪婪模式:匹配字符越少越好(量词后面加'?')
表达式重复n次,比如:\d{6}等于\d\d\d\d\d\d,
{m,n} 表达式至少重复m次,最多重复n次
{m,} 表达式至少m次
? 匹配表达式0次或者1次,相当于{0,1}
+ 表达式至少出现1次,相当于{1,}
* 表达式不出现或出现任意次,相当于{0,}
字符边界
^ 字符串开始的地方
$ 字符串结束的地方
\b 匹配一个单词边界(前面的字符和后面的字符不全是\w)
选择符和分组
| 左右两个表达式之间'或'关系,匹配左边或者右边
()
在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰
取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到
每一对括号会分配一个编号,使用()的捕获根据左括号的顺序从1开始自动编号。捕获元素编号为零的第一个捕获是由整个正则表达式模式匹配的文本。
(?:Expression) 一些表达式中,不得不使用(),但又不需要保存()中子表达式匹配的内容,这时可以用非捕获组来抵消使用()带来的副作用
预搜索(零宽断言)
(?=exp) 断言自身出现的位置的后面能匹配表达式
eg: [a-z]+(?=ing)
找出以
ing
结尾的
(?<=exp) 断言自身出现的位置的前面能匹配表达式
(?!exp) 断言此位置的后面不能匹配表达式
(?<!exp) 断言此位置的前面不能匹配表达式
练习
匹配邮箱
代码语言:
javascript
复制
[\w\-]+@[a-zA-Z0-9]+(\.[a-zA-Z]{2,4}){1,2}
常用正则
Q.E.D.
本文参与
腾讯云自媒体同步曝光计划
,分享自作者个人站点/博客。
原始发表:2021-12-18,如有侵权请联系
cloudcommunity@tencent.com
删除
前往查看
正则表达式
目录
正则表达式
标准字符集合
自定义字符集合
[ ]方括号匹配方式,能够匹配方括号中任意一个字符
注意:
量词
注意:
字符边界
选择符和分组
预搜索(零宽断言)
练习
常用正则
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档