js 正则表达式

本来打算昨天复习正则表达式,然后整理一下的,结果昨天看了一天的bootstrap,,就没复习正则,今天整理一下吧~~

教程是在菜鸟教程看的,感觉挺棒的~

这是网址:http://www.runoob.com/regexp/regexp-tutorial.html

正则表达式基本语法

1.非打印字符

js 正则表达式_第1张图片

2.特殊字符

需要注意的是要使用这些特殊字符,必须先进行转义。

js 正则表达式_第2张图片

3,限定符

js 正则表达式_第3张图片

4.定位符

js 正则表达式_第4张图片

5.元字符

元字符有很多,就不放图了,,具体可参照http://www.runoob.com/regexp/regexp-metachar.html

6.运算符优先级

js 正则表达式_第5张图片

这是正则表达式的一些基本语法,正则表达式应用很广,很多语言中都有关于正则的应用。js作为一门强大的语言,肯定也会有滴~

js中的使用

1.使用语法:new RegExp(pattern, attributes);

pattern为一个字符串或匹配规则
attributes为可选字符串,包含属性g、i 和 m
g:代表全局匹配 (继续往下匹配)
i:代表不区分大小写匹配
m:代表多行匹配,只对^和$模式有用

2.正则表达式定义有两种方式:

1).构造函数方式:
new RegExp(pattern, attributes);
例:var reg=new RegExp(“abc”,”g”);
构造函数中的正则可以是常量字符串或一个js变量
2).普通方式:
/pattern/attributes(/正则/属性)
例:var reg=/abc/g;
普通方式中的正则必须是一个常量字符串

3.属性
每个正则表达式都有一个 lastIndex 属性,用于记录上一次匹配结束的位置(索引值)。
获取 reg.lastIndex
设置 reg.lastIndex=0;

4.RegExp 对象的方法
test:检索字符串中指定的值 返回 true 或 false
reg.test(str);
exec: 检索字符串返回查找结果的第一个值
reg.exec(str);

compile: 该方法可以重编辑指定的正则表达式
var reg=new RegExp(“134-9{8}”,”g”);
//重新编辑正则表达式
reg.compile(“130-3{8}”,”g”);

5.String 对象方法
search:检索与正则表达式相匹配的值
用法:str.search(reg); (返回索引值,无-1)
match:返回所有正则表达式的匹配(加g)
用法:str.match(reg); (返回数组)
replace:替换与正则表达式匹配的子串
用法:str.replace(reg,”“);
split:将字符串匹配的部分做分割(去除)
用法:str.split(reg); (返回数组)

——

现在我们可以来理解一下前一篇面试题中关于正则的这道题:

写一个function,清除字符串前后的空格。

function trim(str) {
    if (str && typeof str === "string") {
        return str.replace(/(^s*)|(s*)$/g,""); //去除前后空白符
    }
}

String的replace函数可以将匹配到的字符串替换为第二个参数中的字符串,即为空。()
(^s*) 这一部分匹配以一个或多个空格开头的字符串,
(s*)$这一部分匹配以一个或多个空格结尾的字符串。

你可能感兴趣的:(javascript)