正则表达式
正则写法
有两种写法
//js风格写法
// i ignore 忽略大小写
// g global 全局匹配找到所有符合条件
var re = new RegExp('a', "i")
//perl风格写法
var re1 = /a/
常用字符串操作
以下语法可以用字符串操作 也可以用正则表达式增加作用
search
获取字符出现的位置,存在返回字符串出现位置,否则返回-1var str = "abcde" var index = str.search("a")
substring
获取字符串的子串var str = "abcde" //开始位置和结束位置 左闭右开
var subStr = str.substring(1, 2) //b
//只传入开始位置 从开始位置一直到结束
var subStr1 = str.substring(1)charAt()
获取该位置的字符var str = "abcde" var char = str.charAt(3) //d
split()
将字符串按特定字符切分为数组var str = "ab-cd-e" var arr = str.split("-") //[ab, cd, e]
match
获取符合条件的结果
var re = new RegExp("\\d+", "g") // var re = /\d+/g
var str = "1AbBc33Cd3DeE2rRtT"
str.match(re) //[1, 33, 3, 2]replace
替换所有符合条件的字符
var re = new RegExp("\\d+", "g") // var re = /\d+/g
var str = "1AbBc33Cd3DeE2rRtT"
str.replace(re, "dog") //dogAbBcdogCddogDeEdogrRtTtest
检测字符串中是否有符合规则的部分 返回boolean
正则写法
匹配
\d 数字 [0-9]
\D 除了数字[^0-9]
\w 英文、数字、下划线 [a-z0-9_]
\W 非英文、数字、下划线 [^a-z0-9_]
\s 空白字符
\S 非空白字符
. 表示为任意字符
元字符
由[]
括起来
//表示范围
[0-9] 表示0-9中任意字符
//表示任意字符
[abc] 表示出现的a、b、c出现哪个都行
//用来排除
[^0-9] 表示出现非数字
量词
表示出现的个数
由{}
括起来
{n} 表示出现n次
{n,m} 表示最少n次 最多m次
{n,} 最少n次 最多不限
+ 等效于 {1,} 最少1次 做多不限
? 等效于 {0,1} 最少0次 最多1次 可有可无
* 等效于 {0,} 表示可以没有 也可以有无数次
行首 行尾
^ 当此字符不在元字符中时 表示行首
$ 表示行尾