正则元字符

字符(total)

表示一个具体的字符。

示例:abc等。

元字符.

匹配任意单个字符,除了换行符。

示例:a. 会匹配字符串"abc"中的"ab"

元字符[]

匹配括号内的任意一个字符。

示例:[abc] 会匹配字符串"abc"中的任意一个字母。

元字符[^]

匹配除括号内的字符以外的任意一个字符。

示例:[^abc] 会匹配除了"a"、"b"、"c"之外的任何一个字符。

元字符*

匹配前面的字符出现0次或多次。

示例:a* 会匹配字符串"aaa"中的所有"a"

元字符+

匹配前面的字符出现1次或多次。

示例:a+ 会匹配字符串"aaa"中的所有"a",但不会匹配字符串"abc"

元字符?

匹配前面的字符出现0次或1次。

示例:a?会匹配字符串"a"和""(空字符串)。

元字符{}

匹配前面的字符出现指定的次数。

示例:a{3}会匹配字符串"aaa",但不会匹配字符串"aa""aaaa"

元字符|

匹配前面或后面的字符。

示例:a|b 会匹配字符串"a""b"

元字符()

用来分组,可以将一系列字符视为一个整体来匹配。

示例:(abc)+ 会匹配字符串"abcabc",但不会匹配字符串"abcbca"

元字符^

匹配字符串的开头。

示例:^abc 会匹配以"abc"开头的字符串。

元字符$

匹配字符串的结尾。

示例:abc$ 会匹配以"abc"结尾的字符串。

元字符\

转义字符,可以用来匹配特殊字符本身。

示例:\. 会匹配字符串"."中的.

元字符\d

匹配数字,相当于[0-9]。

示例:\d+ 会匹配字符串"123"中的所有数字。

元字符\w

匹配字母、数字和下划线,相当于[A-Za-z0-9_]。

示例:\w+ 会匹配字符串"abc_123"中的所有字符。

元字符\s

匹配空白字符,包括空格、制表符、换行符等。

示例:\s+ 会匹配字符串" abc\t\n"中的所有空白字符。

元字符\b

匹配单词边界,即字与空格之间的位置。

示例:\bcat\b会匹配字符串"a cat is a cat"中的两个"cat",但不会匹配字符串"scatter"中的"cat"

元字符\B

匹配非单词边界,即两个字之间的位置。

示例:\Bcat\B会匹配字符串"scatter"中的"cat",但不会匹配字符串"a cat is a cat"中的两个"cat"

元字符*?、+?、??、{n,m}?

这些是非贪婪版本的量词元字符,表示尽可能少地匹配符合条件的字符。

示例:a*?b 会匹配字符串"aaab"中的"aab",而不是整个字符串。

元字符(?=)、(?!)

零宽度正预测先行断言和负预测先行断言,用于匹配某些位置前面或者不在某些位置前面的内容。

示例:a(?=b)会匹配字符串"acb"中的"a",但不会匹配字符串"acc"中的"a"

元字符(?:)

非捕获型分组,不会被提取出来作为单独的匹配项。

示例:(?:abc)+ 会匹配字符串"abcabc",但不会将每个"abc"分别匹配出来。

元字符\1、\2

反向引用匹配前面已经匹配过的分组。

示例:([0-9])-\1会匹配字符串"4-4",但不会匹配字符串"4-5"。

元字符^、$

表示字符串的开头和结尾。

示例:^abc$会匹配仅包含"abc"的字符串,但不会匹配包含其他字符的字符串。

元字符()

分组元字符,在括号中的子模式匹配完成后,将匹配结果作为一个整体返回。

示例:(abc)+会匹配字符串"abcabc",但只会将两个"abc"作为一个匹配项返回。

元字符(?:)

非捕获型分组元字符,匹配括号内的子模式,但不会将匹配结果作为单独的匹配项返回。

示例:(?:abc)+ 会匹配字符串"abcabc",但不会将每个"abc"分别匹配出来。

元字符(?i)、(?s)、(?m)

用于设置匹配模式,分别表示忽略大小写、包含换行符、多行匹配。

示例:(?i)abc会匹配字符串"ABC""Abc"等,不区分大小写。

元字符\1、\2

反向引用元字符,用于引用前面已经匹配到的分组。

示例:([0-9])-\1会匹配字符串"4-4",但不会匹配字符串"4-5"。

元字符(?(condition)yes-pattern|no-pattern)

条件匹配元字符,用于根据指定的条件选择匹配哪个模式。

示例:a(?(?=b)b|c) 会匹配字符串"ab"或"ac",根据"a"后面是否接着"b"来选择匹配哪个模式。

元字符(?<name>pattern)、\k<name>

命名分组元字符和反向引用分组名字。

示例:(?<mygroup>[0-9]+)\k<mygroup> 会匹配字符串"123123",因为前后两个"123"是同一个命名分组的匹配结果。

元字符(?#comment)

注释元字符,用于在正则表达式中添加注释。

示例:a(?#this is a comment)b 会匹配字符串"ab",但"(?#this is a comment)"不会参与匹配。

元字符(?i:pattern)

嵌入式选项,可以在某个子模式中设置匹配选项。

示例:(?i:abc) 等价于A|B|C

元字符(?<=...)、(?<!...)

零宽度正回顾后发断言和负回顾后发断言,用于匹配某些位置后面或者不在某些位置后面的内容。

示例:(?<=a)b会匹配字符串"ab"中的"b",而不会匹配字符串"cb"中的"b"

元字符\A、\Z

匹配字符串的开头和结尾,与^和$的区别是不会受换行符的影响。

示例:\Aabc\Z只会匹配以"abc"组成的整个字符串,而不会匹配包含换行符的字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值