赞
踩
一、正则表达式的创建
在JavaScript可以通过两种方式创建正则表达式:通过调用RegExp对象的构造函数创建;利用字面量创建。
通过调用RegExp对象的构造函数创建形式为:var 变量名=new RegExp(/表达式/)
利用字面量的创建形式为:var 变量名=/表达式/
两种创建形式类似于数组的两种创建形式。
二、正则表达式的组成
正则表达式的组成,正则表达式可以由简单的字符构成,比如/abc/,也可以是简单和特殊的字符组成,比如/ab*c/。其中特殊字符包括元字符和修饰符,以下边界符、字符类和量词符属于元字符。
正则表达式特殊字符:
1、边界符
边界符用来提示字符所处的位置,主要有两个字符:^和
,
表
示
匹
配
行
首
的
文
本
,
,^表示匹配行首的文本,
,表示匹配行首的文本,表示匹配行尾的文本
var rg =/^abc/ //正则表达式里面不需要加引号,不管是数字型还是字符型
console.log(rg.test('abcd'))//true,以abc开头
console.log(rg.test('aabcd'))//false,不以abc开头
var rg1 =/^abc$/ //正则表达式里面不需要加引号,不管是数字型还是字符型
console.log(rg.test('abc'))//true,必须是abc
console.log(rg.test('abcd'))//false,必须是abc
console.log(rg.test('aabcd'))//false,必须是abc
2、字符类
字符类:[]表示有一系列字符可供选择,只要匹配其中一个就可以了
var rg2=/[abc]/
console.log(rg2.test('aabc'))//true,只要匹配一个就可以
console.log(rg2.test('aabcd'))//true,只要匹配一个就可以
console.log(rg2.test('red'))//false,一个匹配都没有
var rg4=/^[a-zA-Z0-9_-]$/ //26个英文字母或者数字h或_或-任一个返回都是true
console.log(rg4.test('A'))//true
console.log(rg4.test('_'))//true
console.log(rg4.test('1'))//true
console.log(rg4.test('-'))//true
3、量词符
量词符用来设定某个模式出现的次数。*重复0次或更多次,+重复一次或更多次,?重复0次或一次,{n}重复n次,{n,}重复n次或更多次,{n,m}重复n到m次
var rg8=/^a{3}$/
console.log(rg8.test('a'))//false
console.log(rg8.test('aaa'))//true
console.log(rg8.test('aaaa'))//false
var rg9=/^a{3,}$/
console.log(rg9.test('a'))//false
console.log(rg9.test('aaa'))//true
console.log(rg9.test('aaaa'))//true
var rg10=/^a{3,5}$/
console.log(rg10.test('a'))//false
console.log(rg10.test('aaa'))//true
console.log(rg10.test('aaaaaaaaa'))//false
4、修饰符
修饰符不写在正则表达式里,修饰符位于表达式之外,常用的修饰符有i,g,m。
i ignore - 不区分大小写 将匹配设置为不区分大小写,搜索时不区分大小写: A 和 a 没有区别。
g global - 全局匹配 查找所有的匹配项。
m multi line - 多行匹配 使边界字符 ^ 和 $ 匹配每一行的开头和结尾,记住是多行,而不是整个字符串的开头和结尾。
var str1="abc123ABC"
console.log(str1.replace(/abc/i,'哈哈'))//哈哈123ABC
var str2="abc123ABC"
console.log(str2.replace(/abc/gi,'哈哈'))//哈哈123哈哈
var str3="abc123ABC\nabc123ABC"
console.log(str3.replace(/abc/gim,'哈哈'))
//哈哈123哈哈
//哈哈123哈哈
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。