正则表达式

https://www.bilibili.com/video/BV1da4y1p7iZ?from=search&seid=1033822496613978103

https://www.bilibili.com/video/BV12b41147y5?p=9

? 表示0个或者1个

* 表示0个或者多个

+ 表示出现1次以上的字符

{n} 表示出现n次

{low,height} 表示出现在此区间内

{n,} 表示出现大于n次

(字符字符) 使用括号括起来多个字符  即将多个字符视为一个整体   可以继续使用上面出现的方法

或 |

a (cat|dog)   返回a cat  或者 a dog

比如我们想要获得由abc三个字母组成的文本  使用   [abc]   

[^0-9]所有非数字字符

元字符

\d 数字字符   \D 非数字字符

\w 所有的英文字符 数字 下划线   \W 非单词字符

\s 空白符 包含Tab和换行符 \S 非空白字符

.  代表任意字符   但是不包括换行符

\b 匹配单词的开始 或 结束

^a  只会匹配行首的a

a$ 只会匹配行尾的a

<.+>  贪婪匹配

<.+?> 懒惰匹配

分支条件

用|把不同的规则分隔开

从左到右的测试每个条件,如果满足了满足某个分支的话,就不会去再管其他的条件了 

        处理选项                 

语法                                                 说明
IgnoreCase    匹配是不区分大小写
  Multiline   更改^和$的含义,使他们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。(在此模式下,$的精确含义是:匹配\n之前的位置以及字符串结束前的位置)
Singleline    更改 . 的含义,使他与每一个字符匹配(包括换行符\n)
IgnorePatternWhitespace忽略表达式中的非转义空白并启用由#标记的注释
ExplicitCapture仅捕获已被显式命名的组

分组的命名(?<groupname>exp)

(?:exp) 匹配exp,不捕获匹配的文本,也不给此分组分配组号

\1  或者 \k<groupname>  引用组

零宽断言

 ?= 零宽度正预测先行断言,自身出现的位置的后面能匹配表达式exp

\b\w+(?=ing\b)

I'm singing while you're dancing.

?<=exp 零宽度正回顾后发断言,自身出现的位置的前面能匹配表达式exp

(?<=\bre)\w+\b

reading a book

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值