• 正则表达式初识


    1.1什么是正则表达式

    正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。

    正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等 。

    其他语言也会使用正则表达式,本阶段我们主要是利用JavaScript 正则表达式完成表单验证。

    1.2 正则表达式的特点

    1. 灵活性、逻辑性和功能性非常的强。

    2. 可以迅速地用极简单的方式达到字符串的复杂控制。

    3. 对于刚接触的人来说,比较晦涩难懂。比如:^w+([-+.]w+)@w+([-.]w+).w+([-.]w+)*$

    4. 实际开发,一般都是直接复制写好的正则表达式. 但是要求会使用正则表达式并且根据实际情况修改正则表达式. 比如用户名: /^[a-z0-9_-]{3,16}$/

    2.正则表达式在js中的使用

    2.1正则表达式的创建

    在 JavaScript 中,可以通过两种方式创建一个正则表达式。

    方式一:通过调用RegExp对象的构造函数创建

    var regexp = new RegExp(/123/);
    console.log(regexp);

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


    var rg = /123/;

    2.2测试正则表达式

    test() 正则对象方法,用于检测字符串是否符合该规则,该对象会返回 true 或 false,其参数是测试字符串。


    var rg = /123/;
    console.log(rg.test(123));//匹配字符中是否出现123 出现结果为true
    console.log(rg.test('abc'));//匹配字符中是否出现123 未出现结果为false

     3正则表达式的组成规则

       规则字符在java.util.regex Pattern类中
    A:字符
        x 字符 x。举例:'a'表示字符a
        \ 反斜线字符。
         新行(换行)符 ('u000A') 
         回车符 ('u000D')
    B:字符类
        [abc] a、b 或 c(简单类) 
        [^abc] 任何字符,除了 a、b 或 c(否定) 
        [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围) 
        [0-9] 0到9的字符都包括
    C:预定义字符类
        . 任何字符。我的就是.字符本身,怎么表示呢? .

            在正则表达式里面组成单词的东西必须有这些东西组成
    D:边界匹配器
        ^ 行的开头 
        $ 行的结尾 
         单词边界
            就是不是单词字符的地方。
            举例:hello world?haha;xixi
    E:Greedy 数量词 
        X? X,一次或一次也没有 比如""空串 就是没有
        X* X,零次或多次  大于等于1次 都算多次
        X+ X,一次或多次
        X{n} X,恰好 n 次 
        X{n,} X,至少 n 次 
        X{n,m} X,至少 n 次,但是不超过 m 次 

    4、正则表达式的应用

      1:math 捕捉

    var str = '小明:大神么么哒,正好是我想要的,我的邮箱是xiaoming@qq.com小红:我老公最爱看这个了,我想给他一个惊喜,么么么哒,邮箱是xiaohong@sina.com我:好人一生平安,邮箱是wuyou@163.com';

    // 字符串.match(正则表达式)可以对字符串进行提取操作,返回值是一个数组
    // 提取字符串str中的邮箱内容,注意,需要在正则的最后添加匹配模式g,不要设置严格匹配。
    var str1 = str.match(/w+@w+.w+/g)
    console.log(str1);
      2:place替换
    // 将字符串 'cqyzsC012QzAabcd'中的acq(忽略大小写)替换为'你好'
    var str = 'cqyzsC012QzAabcd';
    // 全局匹配 忽略大小写
    var str1 = str.replace(/a|c|q/gi, '你好')
    console.log(str1);
  • 相关阅读:
    Oracle的导入导出
    Android利用数据库传送数据
    Android相对布局实例
    git拉取github项目
    kafka支持认证SASL_PLAINTEXT
    fluentd插件开发
    解决go依赖包安装问题
    ES/Kibana支持search-guard认证
    logkit docker运行和代码下载
    CentOS安装指定git版本
  • 原文地址:https://www.cnblogs.com/zhangjiabing/p/13159452.html
Copyright © 2020-2023  润新知