牛逼的正则表达式(1)---匹配语法

前端之家收集整理的这篇文章主要介绍了牛逼的正则表达式(1)---匹配语法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、题记

以前很少接触到文字搜索匹配的功能,所以正则表达式也是用的少,由于最近在做一个工具,其中用到了正则表达式,所以写篇博客巩固学到的知识,真是不学不知道,一学吓一跳,好牛逼的正则啊。


二、基本概念

正则表达式:是一些由字符和特殊符号组成的字符串,它们描述了这些字符和字符的某种重复方式,因此能够按照某种模式匹配一个有相似特征的字符串集合,在代码中常写为regex、regexp、RE。
在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。


三、使用规则

元字符 说明 使用样例
\ 转义字符 \n匹配换行
re1|re2 匹配正则表达式re1或re2 foo|bar
.点 匹配任何字符(换行符除外) b.b
^ 匹配字符串的开始 ^Dear
$ 匹配字符串的结尾 com$
* 匹配前面出现的正则表达式零次或多次 [A-Za-z0-9]*
+ 匹配前面出现的正则表达式一次或多次 [a-z]+\.com
? 匹配前面出现的正则表达式零次或一次 goo?
{N} 匹配前面出现的正则表达式N次 [0-9]{3}
{M,N} 匹配前面出现的正则表达式M~N次 [0-9]{5,9}
[…] 匹配字符组里出现的任意一个字符 [aeIoU]
[x-y] 匹配从字符x到y中的任意一个字符 [A-Za-z]
[^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符 [^a-z]
(…) 匹配封闭号中正则表达式,并保存为子组 ([0-9]{3})?,f(oo
\d 匹配任何数字,和[0-9]一样,(\D是\d的反义,任何非数字) data\d+.txt
\w 匹配任何数字字母,和[A-Za-z0-9]一样,(\W是\w的反义) \w+
\s 匹配任何空白符,(\S是\s的反义)
\b 匹配一个单词边界,(即正则表达式的“匹配”有两种概念,一种是匹配字符,一种是匹配位置,这里的\b就是匹配位置的) “er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。
\B 匹配非单词边界 “er\B”能匹配“verb”中的“er”,但不能匹配“never”中的“er”。

猜你在找的正则表达式相关文章