正则表达式(
Regular expression
)是一种描述字符模式的对象,
Javascript
的
RegExp
类表示正则表达式,而
String
和
RegExp
都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数
正则表达式的重复字符:可以匹配尽可能多的字符
{n, m}
匹配前一项至少
n
次,但是不能超过
m
次
{n, }
匹配前一项
n
次,或者更多次
{n}
匹配前一项
n
次
?
匹配前一项
0
次或
1
次,等价于
{0, 1}
+
匹配前一项
1
次或多次,等价于
{1,}
*
匹配前一项
0
次或多次,等价于
{0,}
非贪婪的重复:在重复字符后加问号(如:
??,
+?,
*?, {1,4}?
)
选择:选择项是从左到右考虑,直到发现了匹配项,如果左边的选择项匹配,就忽略右边的选择项,即使它产生更好的选择项。
模式
/a|ab/
应用到字符串
”ab”
上时,它只匹配第一个字符。
在正则表达式中括号具有几种作用:
一个作用是把单独的项目组合成子表达式,以便可以想处理独立的但愿那样用
|, *, +
或
?
等来处理他们;
另一个作用是在完整的模式中定义子模式;
/([‘”])[^‘”]*\1/
匹配一对单引号或者一对双引号,
\1
匹配的是第一个带括号的子表达式所匹配的模式
正则表达式的标志:
I :
执行不区分大小的匹配
g :
执行一个全局匹配
m :
多行匹配,
^
匹配一行的开头和字符串的开头,
$
匹配一行的结尾和字符串的结尾
search
:以正则表达式为参数(如果不是正则表达式,则传递给
RegExp
转换成正则表达式),返回第一个与之匹配的子串的开始字符的位置,如果没有匹配的字符,返回
-1
。
Search
不支持全局搜索
"JavaScript".search(/script/i);//4
match
:参数是正则表达式(如不是,则转换),返回包含匹配结果的数组
"2 plus 5 equals 7".match(/\d+/g);// ["2", "5", "7"]
split
:把调用它的字符串(或正则表达式)分解为一个子串数组,返回数组
"123,456,789".split(",");//["123", "456", "789"]
"1,2, 3, 4 ,5".split(/\s*,\s*/);//["1", "2", "3", "4", "5"]
RegExp
类:第一个参数为包含正则表达式主体的字符串,第二个参数是可选的,为
g/i/m
。当将正则表达式作为字符串直接量传递给
RegExp
构造函数时,必须用
\\
替换所有的
\
字符。
var zipcode = new RegExp(“\\d{5}”,’g’);
exec
:对一个指定的字符串执行一个正则表达式即在一个字符串中检索匹配,如果没找到,返回
null
,如果找到,返回一个数组。
var pattern = /Java/g;
var text = "Javascript is more fun than Java!";
var result;
while((result = pattern.exec(text) )!= null){
alert("Matched '" + result[0] + "'" + "at position " + result.index + "; next search begins at " + pattern.lastIndex);
}
test
:另一个
RegExp
方法,参数是一个字符串,如果这个字符串包含正则表达式的一个匹配,返回
true
。
var pattern = /java/i;
pattern.test("JavaScript");//true
分享到:
相关推荐
正则表达式的基本语法,主要用于javascript开发时看正则表达式方便点
正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记正则表达式学习笔记
学习笔记:Python爬虫正则表达式.doc
NULL 博文链接:https://jeffreyqiu.iteye.com/blog/1738371
javascript正则表达式入门学习实例入门
正则表达式基础学习笔记!!!从基础开始正则表达式基础学习笔记!!!
JavaScript正则表达式学习资料笔记 很适合初学者,讲的非常详细、全面。
Java正则表达式学习笔记,比较基础,适合初学者
正则表达式 txt文档 详细的总结正则表达式!
北风网正则表达式详细讲解学习笔记,讲解的比较基础适合初学者学习。
6正则表达式笔记[借鉴].pdf
本文档是本人在学习正则表达式时所做笔记 介绍并解析了正则表达式 适合未学习过或者复习者使用 文末附加了常用的正则表达式表
我写了很多的笔记,其中j2ee上册已经上传,现在这个正则表达式供大家学习。谢谢。
js正则表达式笔记,可以运行,正则 笔记
以前学习了正则表达式,总结一下查找起来也很方便,包括各种常用字符串的验证:如邮箱等
[小小明]Python正则表达式全套笔记v0.3(1.8万字干货)
python正则表达式详解笔记
基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码....