正则匹配特殊字符,正则匹配符号

http://www.itjxue.com  2023-01-13 15:19  来源:未知  点击次数: 

正则表达式,匹配特定字符后面的内容

如果前面是固定的“姓名:”的话,试试(?=姓名:).*?(?=,\d{11})。

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

扩展资料:

正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,我们下面会给予解释。

在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式"testing"中没有包含任何元字符,它可以匹配"testing"和"testing123"等字符串,但是不能匹配"Testing"。

参考资料来源:百度百科-正则表达式

idea 正则表达式怎么匹配特殊字符

^.*\[2014\].*$

只要含有[2014],字符串就会验证通过 ,中括号是正则的元字符,需要用\转义

前后的XXXX是任意字符,没有限制,因此只要含有[2014],整个单行的字符串会被匹配

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:]:标点符号。

正则表达式中的常用特殊字符

字符:\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 重复的第二个子项

JS正则表达式中有哪些特殊字符,这些特殊字

这些符号有:^ $ . * + - ? = ! : | \ / ( ) [ ] { }

1.“[ ]”表示字符类: 即括号里是个字符集:如/[abc]/,表示和含有a,b,c任何一个字母的字符串都匹配。

注:特殊字符类:

\s表示空格符、制表符、Unicode空白符。\S表示非空格空白符。 (也可自定义Unicode字符类:

如:/[\u4E00-\u9FA5]/表示只匹配中文字符。)

\w 任何单字字符,相当于[a-zA-X0-9_];\W与\w相反。

\d 任何数字,相当于[0-9];\D与 \d相反。

\b在字符类中使用表示退格符,[\b]则表示退格直接量;\b可以用来指定匹配位置,即匹配到达单词边界,称为锚;

如:查找一个句子里的单词 java , 可以使用/\bjava\b/;\B与\b相反。

2.“-"表示连字符,如[a-z];

3."."表示除换行符;表示匹配除“\r\n”之外的任意单个字符。若要匹配包括“\r\n”在内的任何字符,请使用像“[\w\W|\d\D|\s\S|]”的模式。

4."^"具有两重含义:开始标记和非,如:/^a/表示以a开始的字符;当在[]中时:/[^a]/表示非a的所有字符。

5."$"表示字符结尾。如:/^abc$/表示以c结束的字符。

6.”{}"表示重复上一项。如/\d{2,4}/表示数字出现至少2次,最多4次。如/3{2,4}/匹配33...;333....;3333.....;不匹配3和4个3相连以上的了。它的三种格式如下{n,m}表示至少3次,最多m次;{n,}至少n次;{n}恰好n次。

7."?"表示{0,1}。

8."+"表示{1,}。

9."*"表示{0,}。

注:非贪婪的重复(如??,+?,*?,{1,5}?只匹配第一个。)

10."|"表示分割,即或的含义。如:/ab|cd|ef/匹配含有ab或cd或ef的字符串。

11."()"包含三重用途:一是定义子表达式。二是在完整的模式中定义子模式。三是子表达式的引用。

子模式的定义可以从目标串中抽取和括号中的子模式相匹配的部分。

子模式的表达式的引用是指:可识别子模式的编号,提取它。如/(abc)\sis\s(string\w*)/;里面含有两个字表达式:可通过

\1指(abc);\2指(string\w*); 应用如:/['"][^'"]*['"]/不能取前后同样的引号,可以这样写:/[('")[^'"]*\1]/,可起到约束作用。

注:若想()里的不想被记忆,可采用(?:.....),将不会对其编号。

还有(?=p),(?!p)如下:

如/(javascript)?(?=\:)/ 表示匹配javascript:,但不包含:;它不匹配javascript,因为他有个条件就是后要接:;

(?!p)反前向声明,要求接下来的字符不与模式p匹配,与(?=p)相反。

(责任编辑:IT教学网)

更多

推荐网页背景文章