正则表达式

用来匹配字符串

语法说明实例匹配字符串
一般字符匹配自身abcabc
.匹配任意除换行符“\n”外的字符a.cabc
\转义字符,使后一个字符改变原来的意思。如果字符串中有字符需要匹配,可以使用*或者字符集[]a.c a\ca.c, a\c
[…]字符集。对应的位置可以是字符集中任意字符。字符集中的字符可以逐个列出,也可以给出范围,如[abc]或[a-c]。第一个字符如果是^则表示取反,如[^abc]表示不是abc的其他字符。所有的特殊字符在字符集中都失去其原有的特殊含义。在字符集中如果要使用]、-或^,可以再前面加反斜杠,或把]、-放在第一个字符,把^放在非第一个字符a[bcd]eabe ace ade
\d数字:[0-9]a\dca1c
\D非数字:[^\d]a\Dcabc
\s空白字符:[<空格>\t\r\n\f\v]a\sca c
\S非空白字符:[^\s]a\Scabc
\w单词字符:[A-Za-z0-9_]a\wcabc
\W非单词字符:[^\w]a\Wca c

数量词(用在字符或(…)之后)

语法说明实例匹配字符串
*匹配前一个0或无限次abc*ab abccc
+匹配前一个字符1次或无限次abc+abc abccc
?匹配前一个字符0次或1次abc?ab abc
{m}匹配前一个字符m次ab{2}cabbc
{m,n}匹配前一个字符m至n次。 m和n可以省略:若省略m,则匹配0至n次;若省略n,则匹配m至无限次。ab{1,2}cabc abbc

边界匹配

语法说明实例匹配字符串
^匹配字符串开头。 在多行模式中匹配每一行的开头^abcabc
$匹配字符串末尾。 在多行模式中匹配每一行的末尾abc$abc
\A仅匹配字符串开头。\Aabcabc
\Z仅匹配字符串末尾。abc\Zabc
\b匹配\w和\W之间a\b!bca!bc
\B[^\b]a\Bbcabc

逻辑分组

语法说明实例匹配字符串
|代表左右表达式任意匹配一个。它总是先尝试匹配左边的表达式,一旦成功匹配则跳过匹配右边的表达式。如果|没有被包括在()中,则它的范围是整个正则表达式。abc|defabc def
(…)被括起来的表达式将作为分组,从表达式左边开始每遇到一个分组的左括号’(’,编号+1. 另外,分组表达式作为一个整体,可以后接数量词。表达式中的|仅在该组中有效(abc){2} a(123|456)cabcabc a456c
(?P<name>…)分组,除了原有的编号外再指定一个额外的别名。(?P<id>abc){2}abcabc
\<number>引用编号为<number>的分组匹配到的字符串。(\d)abc\11abc1 5abc5
?P=name引用别名为<name>的分组匹配到的字符串(?P<id>\d)abc(?P=id)1abc1 5abc5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值