正则表达式常用字符汇总

正则表达式常用字符说明

元字符释义举例
“^”匹配行或者字符串的起始位置“^\d” 表示必须以数字开头
“$”匹配行或字符串的结尾“\d$” 表示必须以数字结束
“\b”常用于匹配单词边界,不消耗任何字符只匹配一个位置从"This is Regex"中匹配单独的单词 “is”, 正则就要写成 “\bis\b”
“\d”匹配一个数字如0737-5686123, 正则:“^0\d\d\d”
\w匹配一个数字,字母,下划线匹配"a2CD__Tz" 正则:"\w+" ,这里的"+"字符为一个量词指重复的次数
“\s”匹配一个空格匹配"a b c" 正则:"\w\s\w\s\w" ,一个字符后跟一个空格,如果有多个空格,将“\s”写成“\s+”
“.”匹配换行以外的任何一个字符匹配字符"a23 4 5 B C D__TTz" 正则:".+"
“[]”表示匹配范围,匹配包含括号内元素的字符正则“[0-9a-zA-Z_]”,匹配一个数字、字母或者下划线
“A|B”可以匹配A或B如(P|p)ython可以匹配’Python’或者’python’
()表示的就是要提取的分组(Group)正则 “agent”([0-9]{1,8}).+?key":"(.*?)",有两个括号表示提取两组数据
反义字符释义
“\W”匹配任意不是字母,数字,下划线 的字符
“\S”匹配任意不是空白符的字符
“\D”匹配任意非数字的字符
“\B”匹配不是单词开头或结束的位置
“[^abc]”匹配除了abc以外的任意字符
量词释义举例
“*”(贪婪)重复零次或更多例如"aaaaaaaa" 匹配所有的a 正则: “a*” 会出到所有的字符"a",可以重复0次
“+”(懒惰)重复一次或更多次例如"aaaaaaaa" 匹配所有的a 正则: “a+” 会取到字符中所有的a字符,至少重复1次
“?”(占有)重复零次或一次例如"aaaaaaaa" 匹配a 正则 : “a?” 只会匹配一次,也就是结果只是单个字符a
“{n}”重复n次例如从"aaaaaaaa" 匹配a 并重复3次 正则: “a{3}” 结果就是取到3个a字符 “aaa”
“{n,m}”重复n到m次如正则 “a{3,4}” 将a重复匹配3次或者4次,所以匹配的字符可以是三个"aaa"也可以是四个"aaaa"
“{n,}”重复n次或更多次{n,}匹配的次数将没有上限,但至少要重复n次 如 正则"a{3,}" a至少要重复3次
懒惰限定符释义举例
“*?”重复任意次,但尽可能少重复如 “acbacb” 正则 “a.*?b” 加了限定符后,只会匹配尽可能少的字符 ,而"acbacb"最少字符的结果就是"acb"
“+?”重复1次或更多次,但尽可能少重复与上面一样,只是至少要重复1次
“??”重复0次或1次,但尽可能少重复如 “aaacb” 正则 “a.??b” 只会取到最后的三个字符"acb"
“{n,m}?”重复n到m次,但尽可能少重复如 “aaaaaaaa” 正则 “a{0,m}” 因为最少是0次所以取到结果为空
“{n,}?”重复n次以上,但尽可能少重复如 “aaaaaaa” 正则 “a{1,}” 最少是1次所以取到结果为 “a”
捕获分组符释义
“(exp)”匹配exp,并捕获文本到自动命名的组里
“(?exp)”匹配exp,并捕获文本到名称为name的组里
“(?:exp)”匹配exp,不捕获匹配的文本,也不给此分组分配组号
零宽度断言释义举例
“(?=exp)”匹配exp前面的位置(结束位置)如 “How are you doing” 正则"(?.+(?=ing))" 这里取ing前所有的字符,并将匹配到的值“How are you do”放到定义的捕获分组 "txt"中
“(?<=exp)”匹配exp后面的位置(起始位置)如 “How are you doing” 正则"(?(?<=How).+)" 这里取"How"之后所有的字符,并将匹配到的值“are you doing”放到定义的捕获分组 "txt"中
“(?!exp)”匹配后面跟的不是exp的位置(结束位置)如 “123abc” 正则 "\d{3}(?!\d)"匹配3位数字后非数字的结果
“(?<!exp)”匹配前面不是exp的位置(起始位置)如 “abc123 " 正则 “(?<![0-9])123” 匹配"123"前面是非数字的结果也可写成”(?!<\d)123"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值