正则

正则

【元字符】

(即正则表达式中有特殊含义的符号)

1. 普通字符
元字符:
abc
匹配规则:
匹配相应的字符

2.或
元字符:
|
匹配规则:
匹配|两边任意一个正则表达式的内容

注意:
	| 两侧不要加没用的空格,不然表示ab ,

3.匹配单一字符
元字符:
·(点)
匹配规则:
匹配除换行外的任意字符
(两个字符用两个点)

4.匹配开始位置
元字符:^
匹配规则:匹配一个字符串的开头位置

5.匹配结束位置
元字符:$
匹配规则:匹配目标字符串的结束位置

6.匹配重复
元字符:*
匹配规则:匹配前面的正则表达式0次或多次

7.匹配重复
元字符:+
匹配规则:匹配前面的正则表达式一次或多次

8.匹配重复
元字符:?
匹配规则:匹配前面的正则表达式0次或1次

9.匹配重复
元字符:{n}
匹配规则:匹配指定的重复次数

10.匹配重复
元字符:{m,n}
匹配规则:匹配前面的正则表达式m-n次
ab{3,5}–> abbb abbbb abbbbb

11.匹配字符集合
元字符:[字符集]
匹配规则:匹配括号内的任意一个字符
[abc123d]—> a b c 1 2 3 d
[a-z]
[A-Z]
[0-9]
[123a-zA-Z]匹配任意的小写字母,大写字母,数字123

12.匹配字符集合
元字符:[^字符集]
匹配规则:匹配除了括号中字符集的任意一个字符

13.匹配任意(非)数字字符
元字符:\d \D
匹配规则:\d匹配任意数字字符([0-9]) \D匹配任意非数字字符([^0-9])

14.匹配普通字符/非普通字符
普通字符:数字字母下划线
元字符: \w \W
匹配规则:\w匹配普通字符([_0-9a-zA-Z]),\W匹配非普通字符(^_0-9a-zA-Z)
注意:\w可以匹配普通的utf-8字符(比如汉字)

15.匹配空字符/非空字符
空字符:([空格\n\t\r]等)
元字符:\s \S
匹配规则:\s空字符 \S非空字符

16.匹配起止位置
元字符:\A \Z
匹配规则:\A 匹配开始位置(^) \Z匹配结束位置($)
注意:绝对匹配:使用开头和结尾位置的元字符串将正则表达式放在其中,则目标字符串仅有正则匹配内容时才能匹配上

17.匹配(非)单词边界位置
普通字符和非普通字符的边界处为单词边界
元字符:\b \B
匹配规则:\b单词边界位置 \B非单词边界

注意:加上r
总结:
匹配单个字符:a	. \d \D \w \W \s \S [字符集] [^..] 
匹配重复性:* + ? {n} {m,n}
匹配位置:^ $ \A \Z \b \B
其他:| () \

【转义字符】

1.正则表达式特殊符号:
. * ? $ [] {} () ^ |

2. 如果想匹配特殊符号则加转义

【贪婪和非贪婪】

1.贪婪模式:
正则表达式的重复匹配默认总是尽可能多的向后匹配内容
在 * + ? {m,n} 这四种情况下会产生贪婪模式

2.非贪婪模式:
尽可能少的匹配内容

3.贪婪模式—>非贪婪模式 *? +? ?? {m,n}?

【正则表达式分组】

使用()可以为一个正则表达式建立子组,子组并不会影响正则表达式的整体匹配内容,子组可以看做是一个内部的整体部分

1.子组的作用:

  1. 子组可以改变正则表达式的重复行为

  2. 子组在某些操作中可以被单独提取出来

2.子组的使用注意事项:
1.一个正则表达式中可以有多个子组(由外到内,由左到右为第一第二……子组)

2.子组不存在交叉的情况
如(ab©de)的情况

3.捕获组和非捕获组(命名组和非命名组):
子组的命名格式:
(?Ppattern)
pattern是正则表达式,name就是名字
命名的优点:
1.很多编程接口可以直接通过名字获取子组匹配内容
2.命名组可以被重复使用
重复调用的方法:
(?P=name)

【正则表达式使用要求:】

1.唯一性:正则表达式只能匹配目标类别字符串,而不能匹配其他内容
2.准确性:尽可能全面的考虑目标类别的字符串特征,做到不遗漏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值