正则表达式

Posted fzj读你

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。

正则表达式:
1.创建:
A.方式:
字面量:
var 变量名=/表达式/模式修饰符;
eg:
构造函数:
var 变量名=new RegExp(“表达式”,”模式修饰符”);
B.说明:
模式修饰符:
i:忽略大小写
g:全局模式,应用于所有字符串
m:多行匹配模式
表达式:
a.单个字符与数字:
. 匹配处换行以外的任意字符
[a-z0-9] 匹配方括号中的任意一个字符
[^a-z0-9] 不匹配方括号内的任意一个字符
\d 匹配数字
\D 匹配非数字
\w 匹配字母,数字,下划线
\W 匹配非字母……
b.空白字符:
\0 匹配null字符
\b 匹配空格字符
\f 匹配进制符
\n 匹配换行符
\r 匹配回车符
\s 匹配空白字符、空格、制表符、或换行符
\S 匹配非\S字符
\t 匹配制表符
c.定位符:
^ 行首匹配
\A\b[]\B\G\Z\zd.x?0,1x?0x+1xm,nmne.(?:x)xx(?=y)xyxx(?!y)xyxf.\1..\91....$9 返回九个模式匹配期间找到的,最近保存的部分
g.或模式:
x|y|z 匹配x|y|z

2.属性:
    实例属性:
        global          检索是否设置g标志
        ignoreCase      检索是否设置i标志
        multiline       检索是否设置m标志
        firstIndex
        source
        lastIndex


    构造函数属性:
        $_  input
        $& lastMatch
        $+  lastParen
        $`  leftContext
        $‘  rightContext
        $*  multiline

3.方法:

    实例方法:
        exec:
            功能:在字符串中执行匹配检索,返回结果数组。
            参数:要应用模式匹配的字符串
            特性:可以使用g标志。使用,得到所有,不使用,得到第一个匹配项。
            执行过程:检索字符串参数,获取正则表达式匹配文本;找到匹配文本则返回一个数组,否则返回null。
            派生属性:index:匹配项在字符串中的位置
                      input:应用正则表达式的字符串
                      length:返回数组元素个数。
        test:
            功能:在字符串中测试模式匹配,返回true或false。
    字符串方法:
        match:          找到一个或多个正则表达式的匹配
        replace:        替换与正则表达式匹配的字符串
        search:     检索与正则表达式相匹配的值
        split:          把字符串分割成字符串数组

使用:
html:


js使用:
-?
[\w-]=[\w]
var re=/^[\w-]+(.[\w-]+)*@[\w-]+(.[\w-]+)+/;  
        var mm=new RegExp(re);  
        var email=”[email protected]”;  
        if(mm.test(email)){  
            if(RegExp.
1==1){
console.log(1);
}
console.log(12);
}

    if(email.match(mm)){
        if(RegExp.$1==1){
            console.log(1);
        }
        console.log(12);
    }

    var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
    if (re.test("0.0001")) {
        if (RegExp.$1 == 0 && RegExp.$2 == 0) {
            return false;
        }
        console.log(RegExp.$1);
        return true;
    }
    else {
        return false;
    }

    var sToMatch = "test, Tes, tst, tset, Test, Tesyt, sTes";
    var reEs = /es/gi;
    alert(reEs.exec(sToMatch).length);
    alert(sToMatch.match(reEs).length);
    alert(sToMatch.search(reEs));

/* 

用途:检查输入的Email信箱格式是否正确
输入:strEmail:字符串
返回:如果通过验证返回true,否则返回false
*/
function checkEmail(strEmail)
{
//var emailReg = /^[_a-z0-9][email protected]([_a-z0-9]+.)+[a-z0-9]{2,3}/;varemailReg=/[\w?]+(.[\w?]+)?@[\w?]+(.[\w?]+)+/;
if ( emailReg.test(strEmail) ) {
return true;
}
else {
alert(“您输入的Email地址格式不正确!”);
return false;
}
};

/*
用途:校验ip地址的格式
输入:strIP:ip地址
返回:如果通过验证返回true,否则返回false;
*/
function isIP(strIP)
{
if (isNull(strIP)) {
return false;
}
var re = /^(\d+).(\d+).(\d+).(\d+)/g //匹配IP地址的正则表达式   
    if (re.test(strIP)) {  
        if ( RegExp.
1 < 256 && RegExp.2 < 256 && RegExp.3 < 256 && RegExp.$4 < 256) {
return true;
}
}
return false;
};

/*
用途:检查输入手机号码是否正确
输入:strMobile:字符串
返回:如果通过验证返回true,否则返回false
*/
function checkMobile( strMobile )
{
var regu = /^[1][3][0-9]{9}$/;
var re = new RegExp(regu);
if (re.test(strMobile)) {
return true;
}
else {
return false;
}
};

/*
用途:检查输入的电话号码格式是否正确
输入:strPhone:字符串
返回:如果通过验证返回true,否则返回false
*/
function checkPhone( strPhone )
{
var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}/;varphoneRegNoArea=/[1?9]1[0?9]5,8/;
var prompt = “您输入的电话号码不正确!” if ( strPhone.length > 9 ) {
if ( phoneRegWithArea.test(strPhone) ) {
return true;
}
else {
alert( prompt );
return false;
}

以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

markdown 正则表达式模式片段

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

循环通过 python 正则表达式匹配

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

攻破难啃的骨头-正则表达式(转)

正则表达式的贪婪和非贪婪模式