正则表达式的基本概念

前端之家收集整理的这篇文章主要介绍了正则表达式的基本概念前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一.正则表达式的介绍与作用:

我们在处理数据的时候,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的语法。

正则表达式的主要作用是分割、匹配、查找、替换。

正则表达式不仅可以帮助我们完成一些通过函数无法实现的工作,还可以帮助我们减轻很多工作量。

二.正则表达式的类型:

以perl语言为基础的正则,比较规范,执行效率更高,有起始符和结束符

以Posix为基础的正则

三.正则表达式中的元素:

1.原子(普通字符:[a-zA-Z0-9],原子表,转义字符)

a. a-z A-Z 0-9 //常见的字符

b. (abc) (xyz) //用圆括号包含起来的单元符,把abc,xyz看成一个模块来匹配

c. [abc] [^abc] //用方括号包含的原子表,原子表中的^代表排除或者相反内容。与b.相反

d. 转义字符:\d 包含所有数字[0-9] \B 除所有数字外[^0-9] \w 包含所有英文字符[a-zA-Z] \W 除所有英文字符外[^a-zA-Z] \s 包含空白区域如回车,换行,分页等[\f\n\r]

2.元字符(有特殊功能的字符:".","#","$")

* 匹配前一个内容的0次1次或多次
. 匹配内容的0次1次或多次,但不包含回车换行
+ 匹配前一个内容的1次或多次
?匹配前一个内容的0次或1次
| 选择匹配类似PHP中的| (因为这个运算符合是弱类型导致前面最为整体匹配)
^ 匹配字符串首部内容
$ 匹配字符串尾部内容
\b 匹配单词边界,边界可以是空格或者特殊符合
\B 匹配除带单词边界意外内容
{m} 匹配前一个内容的重复次数为M次
{m,} 匹配前一个内容的重复次数大于等于M次
{m,n} 匹配前一个内容的重复次数M次到N次
( ) 合并整体匹配,并放入内存,可使用\1 \2…依次获取
3.模式修正符(比如在模块外加上i,可以忽略大小写,主要用于增强模块的功能
/ 正则 / U
i 正则内容在匹配时候不区分大小写(默认是区分的)
m 在匹配首内容或者尾内容时候采用多行识别匹配
S 将转义回车取消是为单行匹配如. 匹配的时候
x 忽略正则中的空白
A 强制从头开始匹配
D 强制$匹配尾部无任何内容 \n
U 禁止贪婪匹配只跟踪到最近的一个匹配符并结束,
常用在采集程序上的正则表达式
4.运算优先顺序
( ) 圆括号因为是内存处理所以最高
* ? + { } 重复匹配内容其次
^ $ \b 边界处理第三
| 条件处理第四
最后按照运算顺序计算匹配

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