加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式

发布时间:2020-12-13 23:07:06 所属栏目:百科 来源:网络整理
导读:c++中的正则表达式在regex中,位于命名空间std中,使用函数regex_match进行匹配,使用方法: regex_match(const char*,regex); java中的正则表达式在java.util.regex中。 正则表达式: 正则表达式中的各种符号: 转义字符。 n 表示换行 x0a,f 表示换页

c++中的正则表达式在<regex>中,位于命名空间std中,使用函数regex_match进行匹配,使用方法:

regex_match(const char*,regex);

java中的正则表达式在java.util.regex中。


正则表达式:


正则表达式中的各种符号:

转义字符。

n 表示换行 x0a,f 表示换页符号 x0c,t 表示制表符 x09,r 表示回车 x0d, 表示 。
^ 表示行首。

^Hello 表示匹配行首、而不是任意的 Hello。

$ 表示行尾。

done$ 表示匹配行尾、而不是任意的 done。
* 表示前面的符号或子表达式匹配 0 次或多次。

zo* 可以匹配 "z" 和 "zoo"。* 等价于下面介绍的 {0,}。
+ 表示前面的符号或子表达式匹配 1 次或多次。

zo+ 可以匹配 "zo" 和 "zoo",但是不能匹配"z"。+ 等价于下面介绍的 {1,}。
? 表示前面的符号或子表达式匹配 0 次或 1 次。

如 do(es)? 可以匹配单词 "do" 中的 "do" 或者单词 "does"。? 等价于下面介绍的 {0,1}。
{n}{n,}{n,m} n 和 m 都是非负的整数(分别为上下限),表示前面的符号或子表达式匹配指定次数。

o{2} 表示两个连续的 o(如 "food")。o{2,} 表示两个以上的 o(如 "fooood")。o{1,3} 表示一到三个 o(如 "fod"、"food")

. 匹配除 "n" 之外的所有单个符号。

比如 f.*d 表示一行中包含字符f和d的内容(无论它们之间是什么内容),如 "friend"。
x|y 匹配 x 或 y。

z|food 匹配 "z" 或 "food",而 '(z|f)ood' 匹配 "zood" 或 "food"。括号用于改变运算优先级。
[xyz] 一个字符集合。表示匹配集合中的任何一个符号。

[abc] 可以匹配 a、b、c 中的任何一个。
[^xyz] 字符集合的补集。

[^abc] 可以匹配a、b、c 以外的字符。
[a-z] 字符范围。

[a-z] 可以匹配任何 'a' 到 'z' 之间的小写字符。
[^a-z] 字符范围的补集。

[^a-z] 可以匹配任何非小写的字符。
b 匹配单词边界。

'erb' 可以匹配 "never" 中的 'er',但不能匹配 "verb" 中的 'er'。
B 匹配非单词边界。
'erB' 可以匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。
d 匹配一个数字字符。等价于 [0-9]。
D 匹配一个非数字的字符。等价于 [^0-9]。
s 匹配任何空白字符。等价于 [nrtx20](空白字符共有四种)。 S匹配任何非空白字符的字符。等价于 [^nrtx20]。 w匹配任何单词符号,包括下划线。等价于 [A-Za-z0-9_ ]。 W匹配任何非单词符号。等价于 [^A-Za-z0-9_ ]。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读