正则表达式知识整理

学好正则表达式很重要,下面是一些关于正则表达式的基本知识整理
regex


原文链接

正则表达式知识整理

\ : 转义字符

^ : 匹配字符串开始位置

$ : 匹配字符串结束位置

* : 匹配前面的表达式任意次

+ : 匹配前面的表达式一次或多次

? : 匹配前面的表达式零次或一次

{n} : 匹配确定的n次,n为非负整数

{n,} : 匹配至少n次,n为非负整数

{n,m} : 匹配至少n次,至多m次,n和m均为非负整数且n<=m

(*,+,{n,m})? : 非贪婪匹配模式,尽可能少的匹配,例如“z+”可以匹配“zzzzz”,“z+?”只匹配到“z”

. : 匹配除\r\n外任何单个字符

(pattern) : 匹配pattern,并获取匹配,可以获取匹配到的结果,用\1-\9表示,例如“(o)”匹配到“o”,“(o)\1”匹配到“oo”,“(\d{3})\1”匹配到“123123”,不能匹配到“123456”

(?:pattern) : 非获取匹配,匹配pattern,但不获取匹配结果

(?=pattern) : 非获取匹配,正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用,例如“test(?=123)”能匹配“test123”中的“test”,但不能匹配“test456”中的“test”

(?!pattern) : 非获取匹配,正向否定预查,在任何匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用,例如“test(?=123)”能匹配“test456”中的“test”,但不能匹配“test123”中的“test”

(?<=pattern) : 非获取匹配,反向肯定预查,和正向肯定预查类似,方向相反,例如“(?<=123)test”能匹配“123test”中的“test”,但不能匹配“456test”中的“test”

(?

发布了36 篇原创文章 · 获赞 4 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章