• :在线测试工具暂时不可用,小伙伴们可以使用本地编辑器来代替,绿叶全新版本正在快马加鞭开发中,比心~

1.6 常用元字符

在正则表达式中,包括2种字符:

  • (1)普通字符;
  • (2)特殊字符(元字符);

普通字符就是a~z、0~9这类常见的字符。其中特殊字符又称为“元字符”。元字符之所以叫特殊字符,就是它的特点跟普通字符不一样。例如邮政编码中,我们限定只能输入6个数字,那“数字”这个概念怎么理解呢?这个时候我们就用到了元字符\d来代替。

正则表达式常用的元字符如下:

正则表达式元字符
元字符 说明
\d 匹配数字,相当于[0-9]
\D 匹配非数字,相当于[^0-9]
\w 匹配字母或数字或汉字或下划线
\W 匹配任意不是字母、数字、汉字或下划线的字符
\s 匹配任意的空白符,如空格、换行符、制表符等
\S 匹配任意不是空白符的字符
.(点号) 匹配除了换行符以外的任意字符
[...] 匹配方括号中的所有字符
[^...] 匹配非方括号中的所有字符

举例1:

 
0\d{2}-\d{8}

分析:

其实上面这个正则表达式匹配的是中国的电话号码,以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字。\d{2}表示数字重复2次,\d{8}表示数字重复8次。记住,\d匹配是“数字”,很常用。{2}、{8}这些是限定符的内容,我们在下一节“正则表达式限定符”会详细给大家讲解。

举例2:

 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var str="020-1234567";
        //定义正则表达式
        var myregex = /0\d{2}-\d{8}/;
        //判断字符串str是否匹配正则表达式myregex
        if(myregex.test(str))
        {
            alert("匹配");
        }
        else	
        {
            alert("不匹配");
        }
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:

正则表达式元字符

当然大家也可以在“正则表达式测试工具”中自行修改字符串来测试一下正则表达式的效果。

举例3:

 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var str="<h7>";
        //定义正则表达式
        var myregex = /<h[123456]>/;
        //判断字符串str是否匹配正则表达式myregex
        if(myregex.test(str))
        {
            alert("匹配");
        }
        else
        {
            alert("不匹配");
        }
    </script>
</head>
<body>
</body>
</html>

在浏览器预览效果如下:


分析:

var myregex = /<h[123456]>/;这一句中,[123456]表示可以匹配1~6中任意一个数字。上面正则表达式的实际作用是匹配HTML标签中的<h1>、<h2>、<h3>、<h4>、<h5>和<h6>。

举例4:

 
[hH]ello

分析:

上面正则表达式可以匹配2个字符串“hello”或“Hello”。

使用正则表达式测试工具验证效果如下:


:本站所有教程均为原创,大部分已经与人民邮电出版社合作出版,禁止转载和抄袭,否则绿叶学习网和人民邮电出版社必将追究法律责任,附录:互联网著作权保护法。【法律顾问:张俊律师】

小伙伴们也可以加一下QQ群,在“群文件”中可以获取学习资源以及配套资源,以及跟其他小伙伴交流,站长也在群内。

(1)QQ群:519225291(暗号:lvye

(2)绿叶学习网常见问题解答

回到顶部