正则表查询(多查询几次,慢慢就记住了)

本文详细介绍了正则表达式的基础知识,包括模式的开始与结束标志如^和$,单词边界与非单词边界B,以及正向与反向的先行和后行断言。此外,还讲解了字符匹配如d、w和s,量词的使用如*、+、?及其贪婪和惰性模式,以及括号的分组和引用功能。
摘要由CSDN通过智能技术生成

模式

重要说明

^

匹配开头的位置,当正则有修饰符 m 时(多行文本),表示匹配行开头位置。

$        

匹配结尾的位置,当正则有修饰符 m 时(多行文本),表示匹配行结尾位置。

\b

匹配单词边界

\B

匹配非单词边界

(?=表达式)

正向先行断言(?=表达式),指在某个位置的右侧必须能匹配表达式。

(?!表达式)

反向先行断言(?!表达式),指在某个位置的右侧不能匹配表达式。

(?<=表达式)

正向后行断言(?<=表达式),指在某个位置的左侧必须能匹配表达式。注意: 先行断言和后行断言只有一个区别,即先行断言从左往右看,后行断言从右往左看。

(?<!表达式)

反向后行断言:(?<=表达式),指在某个位置的左侧必须能匹配表达式。

字母、数字

匹配字符本身。比如/javascript/,匹配 "javascript";/123/,匹配 "123"。

\0

匹配 NUL 字符。

\t

匹配水平制表符。

\v

匹配垂直制表符

\n

匹配换行符。

\r

匹配回车符。

\f

匹配换页符。

\xnn

匹配拉丁字符。比如 \xOA 等价于 \n。

\uxxxx

匹配 Unicode 字符。比如 \u2028 匹配行终止符,\u2029 匹配段终止符。

\cX

匹配 ctrl+X。比如 \cI 匹配 ctrl+I,等价于 \t。

[\b]

匹配 Backspace 键(特殊记忆)。

[abc]

匹配 "a"、"b"、"c" 其中任何一个字符。

[a-d1-4]

匹配 "a"、"b"、"c"、"d"、"1"、"2"、"3"、"4" 其中任何一个字符。

[^abc]

匹配除了 "a"、"b"、"c" 之外的任何一个字符

[^a-d1-4]

匹配除了 "a"、"b"、"c"、"d"、"1"、"2"、"3"、"4" 之外的任何一个字符。

.

通配符,匹配除了少数字符(\n)之外的任意字符。

\d

匹配数字,等价于 [0-9]。

\D

匹配非数字,等价于 [^0-9]。

\w

匹配单词字符,等价于 [a-zA-Z0-9_]。

\W

匹配非单词字符,等价于 [^a-zA-Z0-9_]。

\s

匹配空白符,等价于 [ \t\v\n\r\f]。

\S

匹配非空白符,等价于 [^ \t\v\n\r\f]。

量词

{n,m}

连续出现 n 到 m 次。贪婪模式。

{n,}

至少连续出现 n 次。贪婪模式。

{n}

连续出现 n 次。贪婪模式。

?

等价于 {0,1}。贪婪模式。

+

等价于 {1,}。贪婪模式。

*

等价于 {0,}。贪婪模式。

{n,m}?

连续出现 n 到 m 次。惰性模式。最多匹配到 n 个

{n,}?

至少连续出现 n 次。惰性模式。最多匹配到 n 个

{n}?

连续出现 n 次。惰性模式。

??

等价于 {0,1}?。惰性模式。

+?

等价于 {1,}?。惰性模式。

*?

等价于 {0,}?。惰性模式。

 

括号的作用

(ab)

捕获型分组。把 "ab" 当成一个整体,比如 (ab)+ 表示 "ab" 至少连续出现一次。

(?:ab)

非捕获型分组。与 (ab) 的区别是,它不捕获数据。

(good|nice)

捕获型分支结构。匹配 "good" 或 "nice"。

(?:good|nice)

非捕获型分支结构。与 (good|nice) 的区别是,它不捕获数据。

\num

反向引用。比如 \2,表示引用的是第二个括号里的捕获的数据。

 

  • 贪婪模式――在匹配成功的前提下,尽可能多的去匹配
  • 惰性模式――在匹配成功的前提下,尽可能少的去匹配
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值