正则表达式

来源:互联网 发布:淘宝外卖粮票是什么 编辑:程序博客网 时间:2024/06/07 17:48

定义

正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。
通过构造函数定义

var 变量名= new RegExp(/表达式/);  

通过直接字面量定义 (较为常用)

var 变量名= /表达式/;

基本语法

^ 会匹配行或者字符串的起始位置.

$ 会匹配行或字符串的结尾。

+加号代表前面的字符必须至少出现一次。(1次、或多次)。例如,“goo+gle”可以匹配google、gooogle、goooogle等;

?问号代表前面的字符最多只可以出现一次。(0次、或1次)。例如,“colou?r”可以匹配color或者colour;

*星号代表前面的字符可以不出现,也可以出现一次或者多次。(0次、或1次、或多次)。例如,“0*42”可以匹配42、042、0042、00042等。

{n} n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。

{n,} n是一个非负整数。至少匹配n次,匹配的次数没有上限。

{n,m} m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。请注意在逗号和两个数之间不能有空格。

x|y 匹配x或y。例如,“z|food”能匹配“z”或“food”。

\b 匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。

\d 匹配一个数字字符。等价于[0-9]。

\D 匹配一个非数字字符。等价于[^0-9]。

\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。

\S 匹配任何非空白字符。等价于[^ \f\n\r\t\v]。

\w 匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”。

\W 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。

“[^abc]” 匹配除了abc以外的任意字符。

. 匹配除换行符之外的任何单个字符。

()圆括号可以用来定义操作符的范围和优先度。

\f 匹配一个换页符。

\n 匹配一个换行符。

\r 匹配一个回车符。

正则表达式的匹配模式支持下列3个标志。
g:表示全局模式,即模式将被应用于所有字符串。

i:表示不区分大小写模式,即在确定匹配项时忽略模式与字符串的大小写。

m:表示多行模式,即在到达一行文本末尾时还会继续查找下一行中是否存在与模式匹配的项。

原创粉丝点击