zoukankan      html  css  js  c++  java
  • 正则表达式

    正则表达式:
    什么是: 专门描述字符串中每位字符出现规律的表达式
    格式的定义
    何时使用: 只要按规律同时查找,替换,验证多个关键词时
    都要先定义格式规则
    如何使用:
    1. 最简单的正则就是关键词的原文
    2. 字符集: 规定一位字符的备选字符列表
    [备选字符的列表]
    强调: 一个字符集[],只能匹配一位字符
    特殊: 1. 如果字符集中的字符部分连续
    可用-省略中间的字符,-读作“到”
    常用: 一位数字: [0-9]
    一位大写字母:[A-Z] 小写[a-z]
    一位汉字: [u4e00-u9fa5]
    一位字母数字或下划线: [0-9A-Za-z_]
    2. 除了xxx:[^xxx]
    ^读作"除了",必须在[]的开头
    比如: 除了4和7之外所有字符:[^47]
    3. 预定义字符集: 对常用字符集的简化写法
    一位数字: d =>[0-9]
    一位字母数字或下划线: w =>[0-9A-Za-z_]
    一位空字符: s => 包括: 空格 制表符 换行

    一位任意字符: .
    何时使用: 如果需求和预定义字符集完全匹配,则优先使用预定义字符集。否则自定义普通字符集
    4. 量词: 规定字符集出现次数的规则
    一般紧跟在字符集之后,修饰相邻的字符集
    有明确数量:
    {n,m} 最少n次,最多m次
    {n,} 最少n次,多了不限
    {n} 必须n次,不能多也不能少
    不确定数量:
    ? 可有可无,最多一次
    * 可有可无,多了不限
    + 至少一次,多了不限
    5. 选择和分组:
    选择:或 | 表示在两个规则之间挑一个匹配
    优先级最低
    分组: 在正则表达式内部用()划分子表达式
    何时: 获取关键词的部分内容时,都要先分组再匹配
    希望数量词修改一组字符集时
    手机号: +86或0086 可有可无,最多一次
    空字符 可有可无,多了不限
    1
    3,4,5,7,8
    9位数字
    (+86|0086)?s*1[34578]d{9}

    例子:

    var str="one two three four five";
    var i=4;
    var reg=/[a-z]+/g;
    str=str.replace(reg,function(kwords){
    return kwords+=i++;
    });
    console.log(str);//one4 two5 three6 four7 five8

  • 相关阅读:
    Unity3D之Character Controller(CC)与GameObject的碰撞方法
    Unity3D之资源问题处理
    Unity3D之多个fbx导入场景, 合并多个动画
    Unity3D性能优化--- 收集整理的一堆
    批量删除
    Unity3D插件之Easy Touch 3.1(1): Easy Joystick
    Unity3D与iOS消息交互方法(1)--iOS接收Unity3D发出的消息
    爬虫 requests 模块
    Flask 模型操作
    11.4 Flask session,闪现
  • 原文地址:https://www.cnblogs.com/tracy-zhu/p/5762486.html
Copyright © 2011-2022 走看看