JavaScript 正则表达式的创建,基本使用方法案例

1.创建正则表达式对象

方式一:使用关键字new创建

var patt = new RegExp(pattern,modifiers);

pattern:正则表达式的匹配模式。(字符串形式)

modifiers:匹配模式修饰器


3种模式修饰符分别是:

g:表示全局。匹配全部,如果不写g则匹配成功一个就结束。
i:表示忽略大小写。在匹配的时候不区分大小写
m:表示可以多行匹配。

方式二:使用正则表达式字面量创建

var reg = /pattern/modifiers;
说明:pattern表示正则表达式的模式,最后一个/的后面是模式修饰符。


2.正则表达式常用方法
 test()方法
   用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false。
 var isMatch = 正则表达式对象.test(字符串);
参数:要匹配的字符串
返回值:匹配成功返回true,失败返回false。

exec()方法
用于检索字符串中的正则表达式的匹配。

var values = 正则表达式对象.exec(字符串);
参数:要匹配的字符串
返回值:返回的是一个Array,且将匹配成功的值存放在数组下标0的位置。如果没有匹配则返回null。

3.正则表达式操作的字符串方法常用方法

search(regex) 方法
 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
 
replace(regex,replaceValue)方法 
 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,返回替换后的字符串(注:替换所有)。

match(regex)方法 找到一个或多个正则表达式的匹配结果,返回数组。

split(regex,limit)方法把字符串分割为字符串数组。

示例代码:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js正则表达式</title>
    <script type="text/javascript">
        function testTest() {
            var s = "Hello wrld!world";
            //i 表示忽略字母大小写,g表示匹配全局,匹配全部,如果不写g则匹配成功一个就结束,m表示可以多行匹配
            //方法一:创建正则表达式对象
//            var regExp = new RegExp("world","igm");
            //方法二:使用正则表达式字面量创建
            var regExp = /^World$/igm;
//            test()方法:匹配的字符串,匹配成功返回true,失败返回false
            var isExit = regExp.test(s);
            console.log(isExit);
        }
        //exec() 方法 :匹配的字符串,返回的是一个Array,且将匹配成功的值存放在数组下标0的位置。如果没有匹配则返回null。
        function testExec() {
            var str = "abc1234ABC";
            var regExp = /^[a-z]+$/gim;
            //匹配字母输出
            while (true) {
                var exec = regExp.exec(str);
                if (exec) {
                    console.log(exec[0])
                } else
                    break;
            }
        }
        //    search(regex)方法:    检索与正则表达式相匹配的第一个匹配项的索引。
        function testSearch() {
            var str = "bb3:n:";
//            返回第一个 : 的出现位置
            var number = str.search(/^:$/);
            console.log(":出现的第一个位置:" + number);
        }
        //        match(regex)方法 :找到一个或多个正则表达式的匹配结果,返回数组。
        function testMatch() {
            var str = "a2bb3:n:5";
//            匹配所有的数字
            var match = str.match(/^\d+$/g);
            console.log(match.toString());
        }
        //        replace(regex,replaceValue)方法 :替换所有与正则表达式匹配的子字符串,返回替换后的字符串。
        function testReplace() {
            var str = "a2bb3:n:5";
            //将数字替换为+
            var replace = str.replace(/^\d+$/g, "+");
            console.log(replace);
        }
        //        split(regex,limit)方法 把字符串分割为字符串数组。limit表示只取匹配成功的limit个
        function testSplit() {
            var str = "a2:bb3:n:5";
//            第二个参数表示只取几个值
            //使用: 分割字符串,并只取2个
            var split = str.split(/^:+$/g, 2);
            console.log(split.toString());
        }
        testTest();
        testExec();
        testSearch();
        testMatch();
        testReplace();
        testSplit();
    </script>
</head>
<body>

</body>
</html>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值