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

    正则表达式(regular expression)是一个描述字符模式的对象。ECMAScript 的 RegExp 类
    表示正则表达式,而 String 和 RegExp 都定义了使用正则表达式进行强大的模式匹配和文本
    检索与替换的函数。
    正则表达式主要用来验证客户端的输入数据。用户填写完表单单击按钮之后,表单就会
    被发送到服务器,在服务器端通常会用 PHP、ASP.NET 等服务器脚本对其进行进一步处理 。
    因为客户端验证,可以节约大量的服务器端的系统资源,并且提供更好的用户体验。

    模式修饰符的可选参数
    参 数 含 义
    i 忽略大小写
    g 全局匹配
    m 多行匹配

    RegExp 对象的方法
    方 法 功 能
    test 在字符串中测试模式匹配,返回 true 或 false
    exec 在字符串中执行匹配搜索,返回结果数组

    String 对象中的正则表达式方法
    方 法 含 义
    match(pattern) 返回 pattern 中的子串或 null
    replace(pattern, replacement) 用 replacement 替换 pattern
    search(pattern) 返回字符串中 pattern 开始位置
    split(pattern) 返回字符串按指定 pattern 拆分的数组

    RegExp 对象的静态属性
    属 性 短 名 含 义
    input $_ 当前被匹配的字符串
    lastMatch $& 最后一个匹配字符串
    lastParen $+ 最后一对圆括号内的匹配子串
    leftContext $` 最后一次匹配前的子串
    multiline $* 用于指定是否所有的表达式都用于多行的布尔值
    rightContext $' 在上次匹配之后的子串

    RegExp 对象的实例属性
    属 性 含 义
    global Boolean 值,表示 g 是否已设置
    ignoreCase Boolean 值,表示 i 是否已设置
    lastIndex 整数,代表下次匹配将从哪里字符位置开始
    multiline Boolean 值,表示 m 是否已设置
    Source 正则表达式的源字符串形式

    字符类:单个字符和数字
    元字符/元符号 匹配情况
    . 匹配除换行符外的任意字符
    [a-z0-9] 匹配括号中的字符集中的任意字符
    [^a-z0-9] 匹配任意不在括号中的字符集中的字符
    d 匹配数字
    D 匹配非数字,同[^0-9]相同
    w 匹配字母和数字及_
    W 匹配非字母和数字及_


    字符类:空白字符
    元字符/元符号 匹配情况
    匹配 null 字符
     匹配空格字符
    f 匹配进纸字符
    匹配换行符
    匹配回车字符
    匹配制表符
    s 匹配空白字符、空格、制表符和换行符
    S 匹配非空白字符


    字符类:锚字符
    元字符/元符号 匹配情况
    ^ 行首匹配
    $ 行尾匹配
    A 只有匹配字符串开始处
     匹配单词边界,词在[]内时无效
    B 匹配非单词边界
    G 匹配当前搜索的开始位置
     匹配字符串结束处或行尾
    z 只匹配字符串结束处


    字符类:重复字符
    元字符/元符号 匹配情况
    x? 匹配 0 个或 1 个 x
    x* 匹配 0 个或任意多个 x
    x+ 匹配至少一个 x
    (xyz)+ 匹配至少一个(xyz)
    x{m,n} 匹配最少 m 个、最多 n 个 x


    字符类:替代字符
    元字符/元符号 匹配情况
    this|where|logo 匹配 this 或 where 或 logo 中任意一个


    字符类:记录字符
    元字符/元符号 匹配情况
    (string) 用于反向引用的分组
    1 或$1 匹配第一个分组中的内容
    2 或$2 匹配第二个分组中的内容
    3 或$3 匹配第三个分组中的内容

    贪 婪         惰 性
    +              +?
    ?               ??
    *              *?
    {n}          {n}?
    {n,}         {n,}?
    {n,m}      {n,m}?

  • 相关阅读:
    函数的定义
    函数名的本质
    函数进阶
    三元运算
    数据类型 补充
    安装python问题
    neo4j nosql图数据库学习
    ubutun lunix 64安装neo4j 图形数据库
    git error: object file .git/objects/b9/e269f50db2a3415cc8ad5ba40b82b9b6a13d45 is empty
    django orm 时间处理
  • 原文地址:https://www.cnblogs.com/luoguixin/p/6120452.html
Copyright © 2011-2022 走看看