© Ptw-cwl
文章目录
- 字符匹配
- 元字符`.`
- 元字符`[]`
- 元字符`[^]`
- 元字符`*`
- 元字符`+`
- 元字符`?`
- 元字符`{}`
- 元字符`|`
- 元字符`()`
- 元字符`^`
- 元字符`$`
- 元字符`\`
- 元字符`\d`
- 元字符`\w`
- 元字符`\s`
- 元字符`\b`
- 元字符`\B`
- 元字符`*?、+?、??、{n,m}?`
- 元字符`(?=)、(?!)`
- 元字符`(?:)`
- 元字符`\1、\2`等
- 元字符`^、$`
- 元字符`()`
- 元字符`(?:)`
- 元字符`(?i)、(?s)、(?m)`
- 元字符`\1、\2`等
- 元字符`(?(condition)yes-pattern|no-pattern)`
- 元字符`(?<name>pattern)、\k<name>`
- 元字符`(?#comment)`
- 元字符`(?i:pattern)`
- 元字符`(?<=...)、(?<!...)`
- 元字符`\A、\Z`
字符匹配
表示一个具体的字符。
示例:a、b、c等。
元字符.
匹配任意单个字符,除了换行符。
示例: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"组成的整个字符串,而不会匹配包含换行符的字符串。
Ptw-cwl


















![[架构之路-179]-《软考-系统分析师》-19- 系统可靠性分析与设计 -1- 故障模型、可靠性模型、可靠性分析](https://img-blog.csdnimg.cn/f38135dbfcce4e41b4ed8df5eb33851f.png)
