欢迎来到小居数码网-一家分享数码知识,生活小常识的网站,希望可以帮助到您。

当前位置:生活小常识 > 数码知识 >
优质

正则表达式csdn(正则表达式匹配特定字符)

数码知识

陈漫优秀作者

原创内容 来源:小居数码网 时间:2024-08-15 11:58:01 阅读() 收藏:37 分享:69

导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有696个文字,大小约为3KB,预计阅读时间2分钟。

原书这么一句话,特别棒:正则表达式是匹配模式,要么匹配字符,要么匹配位置,要记住。

正则表达式匹配特定字符

1. 两种模糊匹配

正则表达式的强大在于它的模糊匹配,这里介绍两个方向上的“模糊”:横向模糊和纵向模糊。

  • 横向模糊匹配
  • 即一个正则可匹配的字符串长度不固定,可以是多种情况。

    如 /ab{2,5}c/ 表示匹配: 第一个字符是 "a" ,然后是 2 - 5 个字符 "b" ,最后是字符 "c" :

  • 纵向模糊匹配
  • 即一个正则可匹配某个不确定的字符,可以有多种可能。

    如 /[abc]/ 表示匹配 "a", "b", "c" 中任意一个。

    2. 字符组

  • 范围表示法
  • 可以指定字符范围,比如 [1234abcdUVWXYZ] 就可以表示成 [1-4a-dU-Z] ,使用 - 来进行缩写。

    如果要匹配 "a", "-", "z" 中任意一个字符,可以这么写: [-az] 或 [a-z] 或 [az-] 。

  • 排除字符组
  • 即需要排除某些字符时使用,通过在字符组第一个使用 ^ 来表示取反,如 [^abc] 就表示匹配除了 "a", "b", "c" 的任意一个字符。

  • 常见简写形式
  • 3. 量词

    量词也称重复,常用简写如下:

  • 贪婪匹配和惰性匹配
  • 在正则 /d{2,4}/ ,表示数字连续出现 2 - 4 次,可以匹配到 2 位、 3 位、4 位连续数字。

    但是在 贪婪匹配 如 /d{2,4}/g ,会尽可能多匹配,如超过 4 个,就只匹配 4 个,如有 3 个,就匹配 3 位。

    而在 惰性匹配 如 /d{2,4}?/g ,会 尽可能少 匹配,如超过 2 个,就只匹配 2 个,不会继续匹配下去。

    4. 多选分支

    即提供多个子匹配模式任选一个,使用 |(管道符)分隔,由于分支结构也是惰性,即匹配上一个后,就不会继续匹配后续的。

    格式如:(r1|r2|r3),我们就可以使用 /leo|pingan/ 来匹配 "leo" 和 "pingan"。

    5. 案例分析

    匹配字符,无非就是字符组、量词和分支结构的组合使用。

  • 十六进制颜色值匹配
  • 时间和日期匹配
  • Windows操作系统文件路径匹配
  • 盘符使用 [a-zA-Z]: ,这里需要注意 字符需要转义,并且盘符不区分大小写;

    文件名或文件夹名,不能包含特殊字符,使用 [^:*<>|"?rn/] 表示合法字符;

    并且至少有一个字符,还有可以出现任意次,就可以使用 ([^:*<>|"?rn/]+)* 匹配任意个 文件夹;

    还有路径最后一部分可以是 文件夹 ,即没有 于是表示成 ([^:*<>|"?rn/]+)?。

  • id匹配
  • 如提取 <div ></id> 中的 :

    tips1:由于 . 匹配双引号,且 * 贪婪,就会持续匹配到最后一个双引号结束。

    tips2:使用惰性匹配,但效率低,有回溯问题。

    tips3:最终优化。

    上面就是小居数码小编今天给大家介绍的关于(正则表达式匹配特定字符)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

    94%的朋友还想知道的:

    (218)个朋友认为回复得到帮助。

    部分文章信息来源于以及网友投稿,转载请说明出处。

    本文标题:正则表达式csdn(正则表达式匹配特定字符):http://sjzlt.cn/shuma/155790.html

    猜你喜欢