• Python JQuery 正则表达式mini版


    正则表达式
      1.定义正则表达式
        reg = /正则表达式/
        1. /.../ 用于定义正则表达式
        2. /.../g 表示全局匹配
        3. /.../i 表示不区分大小写
        4. /.../m 表示多行匹配
        JS正则匹配时本身就支持多行,此处的多行匹配只是影响正则表达式^和$,m模式也会使用^$来匹配换行的内容

    1     例子:
    2     var pattern = /^javaw*/gm;
    3     var text = "java aaa
    java bbb"
    这样即使换行了,还是符合匹配要求(以java开头),可以匹配出两个内容,如果没有m就只匹配一个 

      2.利用正则表达式
        1.test(string) 检查和字符串中是否和正则表达式匹配
         reg.test(字符串) 匹配就返回true
        2.exec(string) 获取正则表达式匹配的内容,如果未匹配,值为null,否则,获取匹配成功的数组。
         获取正则表达式匹配的内容,如果未匹配,值为null,否则,获取匹配成功的数组。

     1 非全局模式(只匹配第一次)
     2 获取匹配结果数组,注意:第一个元素是第一个匹配的结果,后面元素是正则子匹配(正则内容分组匹配)
     3 可以对匹配出来的内容进行分组,把匹配的内容提取出来
     4 如:
     5 var pattern = /Javaw*/;
     6 var text = "JavaScript is more fun than Java or JavaBeans!";
     7 result = pattern.exec(text)————["JavaScript"]
     8 
     9 var pattern = /Java(w*)/;
    10 var text = "JavaScript is more fun than Java or JavaBeans!";
    11 result = pattern.exec(text)——————["JavaScript","Script"]
    12 
    13 全局模式(匹配所有)
    14 需要反复调用exec方法,来一个一个获取结果,直到匹配获取结果为null表示获取完毕
    15 var pattern = /Javaw*/g;
    16 var text = "JavaScript is more fun than Java or JavaBeans!";
    17 执行一次:result = pattern.exec(text)————————————["JavaScript"]
    18 两次:result = pattern.exec(text)————————————["Java"]
    19 三次:result = pattern.exec(text)————————————["JavaBeans"]    
    20 最后一次:result = pattern.exec(text)————————————["null"]
    21 
    22 var pattern = /Java(w*)/g;
    23 var text = "JavaScript is more fun than Java or JavaBeans!";
    24 result = pattern.exec(text)

      3.字符串中相关的方法

     1 1.obj.search(正则表达式) 
     2 获取索引位置,搜索整个字符串,返回匹配成功的第一个位置(g模式无效)
     3 
     4 2.obj.match(正则表达式) 
     5 获取匹配内容,搜索整个字符串,获取找到第一个匹配内容,如果正则是g模式找到全部
     6 
     7 3.obj.replace(正则表达式,替换的内容) 通过正则表达式找到内容,然后把找到的内容变成替换的内容。
     8 替换匹配替换,正则中有g则替换所有,否则只替换第一个匹配项,
     9 $数字:匹配的第n个组内容;
    10 $& :当前匹配的内容 obj.replace (正则表达式,替换的内容$&) 把匹配的内容和替换的内容结合
    11 $` :位于匹配子串左侧的文本
    12 $' :位于匹配子串右侧的文本
    13 $$ :直接量$符号 想要输入$ 要有两个$($$)
  • 相关阅读:
    c++ 内存管理方式
    4.2学习总结
    PTA面向对象程序设计6-3 面积计算器(函数重载)
    3.26学习总结
    PTA——c++面向对象基础
    3.17学习总结.listview用法总结
    3.16学习总结
    3.15学习总结(Python爬取网站数据并存入数据库)
    android开发使用jxl创建Excel
    第一次结对作业
  • 原文地址:https://www.cnblogs.com/otome/p/12755782.html
Copyright © 2020-2023  润新知