正则表达式笔记

\b\w{6}\b
#匹配6位单词,而不是6个完全相同的字符组成的单词
[.?!]
#匹配标点符号(.或?或!)。在[]中不用加转意字符斜杠,[]中的每一个字符都是原义的。
[0-9]
#匹配任何数字
[09-]
#匹配0,0,\
#[]中-的前后如果能连续起来,-不表示-,而是一个连接符。如果连不起来,就表示-。
[a-9]
#测试什么都不返回,是个错误的正则表达式
\b
#只能匹配a-z,0-9,A-Z,_组成的单词,其它的特殊符号都不行。如 \b\( 这个永远都匹配不到。
\d{5}-\d{4}|\d{5}
#使用分枝条件时,要注意各个条件的顺序。如果你把它改成\d{5}|\d{5}-\d{4}的话,那么就只会匹配5位的邮编(以及9位邮编的前5位)。原因是匹配分枝条件时,将会从左到右地测试每个条件,如果满足了某个分枝的话,就不会去再管其它的条件了。
所以分支的时候,越复杂的分支写在越前面。
(([012][0-5][0-5]|[012][0-4]\d|\d{2}|\d)\.){3}(([012][0-5][0-5]|[012][0-4]\d|\d{2}|\d))
#匹配IP
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
#匹配IP
[^aeiou]
#匹配除了aeiou这几个字母以外的任意字符,因为[]只代表一个字符,所以^是对所有可能条件同时生效。
\b(\w+)\b\s+\1\b
#\1匹配的第一对

()的意义
()是特殊字符,没有转义的话,()中的内容表示一个整体,叫作分组,里面的内容可以认为是一个独立的正则表达式。而且默认情况下,每一个()里的值都会有一个引用,按照从左到右的顺序为\1,\2….. 。

括号的意义

位置符号:
\b,^,$,所有的零宽断言。他们只代表一个位置,而不消耗字符。
正则平衡:
= 与 !
= 与 <
\b 与 \B
\d 与 \D
\s 与 \S
\w 与 \W
{}代表重复次数,里面的只能是数字(或者数字加逗号),是一范围的时候用逗号连接,里面不会出现“-”。
[]代表一个集合,但其值只是一个占一个位的符号,无论是否能打印,是否看得见。是一个范围的时候用 “-”连接,当“-”不用作连接符时,在[]中就代表它本身。
^不在[]表示段落开始,在[]中表示非。
*   {0,}
+   {1,}
?   {0,1}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值