正则表达式特殊字符匹配(正则表达式匹配特殊字符串)
正则表达式如何匹配+号?
使用:\+
其中”\“是转义字符,因为+是正则表示式中的特殊符号,所以需要使用”\“进行转义。
特殊字符
1、+
匹配前面的子表达式一次或多次。要匹配 + 字符,使用 \+。
2、\
将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\\' 匹配 "\",而 '\(' 则匹配 "("。
3、|
指明两项之间的一个选择。要匹配 |,使用 \|。
扩展资料
定位符
1、^
匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与 \n 或 \r 之后的位置匹配。
2、$
匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与 \n 或 \r 之前的位置匹配。
3、\b
匹配一个单词边界,即字与空格间的位置。
4、\B
非单词边界匹配。
正则表达式怎样匹配任意字符?
匹配任意字符?[\s\S]*或者[\w\W]*
正则表达式,又称规则表达式。(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
正则表达式是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。
c++中使用正则表达式匹配字符串
c++的正则表达式在regex头文件中,【#includeregex】
首先,正则表达式常用的字符匹配方法,需要记住的特殊字符有:
遇到的问题:accountID是14个数字组成的字符串,匹配以“80”结尾的accountID,不能直接用‘80$’和'[8][0]$',必须14个全部匹配才行,正确匹配模板为”[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][8][0]“。regex_match(accountID,r)需要accountID整个字符串与模板r匹配才会返回True.
正则表达式中的常用特殊字符
字符:\ss
1.反斜杠表示下一个字符是特殊的
2.反斜杠也可以表示将其后的特殊字符,转义为字面量
字符:^
1. 表示字符串开头要以^后面的字符集合匹配 。匹配输入的开始。
字符:$
1.匹配输入的结束
字符:n*
1.匹配任何 ? 包含零个或多个 n 的字符串。。等价于 {0,}。
字符: n+
1.匹配任何包含至少一个 n?的字符串。。等价于 {1,}。
字符:n?
1.匹配任何 ? 包含零个或一个??n 的字符串。。等价于 {0,1}。
2.如果 紧跟在任何量词 *、 +、??或 {} 的后面 ,将会使量词变为 非贪婪 的(匹配尽量少的字符),和缺省使用的 贪婪模式 (匹配尽可能多的字符)正好相反。
字符:.
1.表示除换行符之外的单个任何字符
字符:()? ,分组
字符: a | b,? ? ?| 或者,匹配a或者b 字符的字符串
字符:(? : x)
1.匹配包含 x (x代表 字符集合, 例如abc) 的字符串
字符:x(?:y)
匹配 x后面紧跟y(y代表 字符集合 ) 的字符串
字符:x(?! y)
匹配 x后面不跟这y(y代表 字符集合 ) 的字符串
\s : 空格
\S : 非空格
\d : 数字
\D : 非数字
\w : 字符 ( 字母 ,数字,下划线_ )
\W : 非字母、数组、下划线
字符:{n}
1.表示{}前面的字符要出现n次,才能成功匹配字符串
字符{n , m}
1.表示{}前面的字符至少出现n次,最多出现m次,才能成功匹配字符串
字符: [? ]?
1.[] 内是 一个字符 范围。例如? ?[ abcd ] 等价于= [ a-d]
2.[ ^abc] 里^表示一个字符不再指定范围内。
\n 表示重复的某个子项
\1 重复的第一个子项
\2 重复的第二个子项
4-19 Linux中的正则表达式 --- 字符匹配
1、正则表达式和通配符有点像。区别在于通配符匹配的是文件名和目录名中的字符串,不能匹配文本中内容的字符串。而正则表达式匹配的是文本中的字符串。
2、正则表达式(REGEXP):由一类特殊字符及文本符号所编写的表达式,这种表达式的功能是匹配文本当中字符串。
3、正则表达式的特点:可以通过特殊字符及文本符号灵活组合各种过滤条件去匹配文本内容,从而达到自由度颇高的筛查方式。
4、正则表达式分两类:基本正则表达式(BRE)、扩展正则表达式(ERE),grep 加上 -E 参数就是使用 egrep。
5、元字符分类:元字符是指正则表达式中使用的特殊字符,这些特殊符号具有特定的功能。从功能上分类有:字符匹配、匹配次数、位置锚定、分组。
①、 .:匹配任意单个字符。
②、 [ ]:匹配指定范围内的任意单个字符。
③、 [^]:排除匹配指定范围内的任意单个字符。
④、 [:alnum:]:过滤字母和数字,包含了大写字母、小写字母 和 10个数字(0-9)。
⑤、 [:alpha:]:任何英文大小写字符,即 A-Z,a-z。
⑥、 [:lower:]:只过滤小写字母。
⑦、 [:upper:]:只过滤大写字母。
⑧、 [:blank:]:空白字符(空格和制表符)。
⑨、 [:space:]:水平和垂直的空白字符(比 [:blank:] 包含的范围广)。
⑩-①、 [:digit:]:十进制数字。
⑩-③、 [:graph:]:可打印的非空白字符。
⑩-④、 [:print:]:可打印字符。相当于 [:alnum:]、[:punct:] 和 space。
⑩-⑤、 [:punct:]:标点符号。