又一篇正则表达式学习笔记

 更新时间:2008年12月03日 16:34:05   作者:   我要评论

里面涉及到了一些正则表达式的高级技巧,特别推荐给大家
1. \b:表示单词的开头或者结尾,可能是空格、标点符号或者换行,但是\b不匹配其中的任何一个,这是指代这些元素中的任一个位置。
示例:\bhi\b:查找文本中所有的“hi”单词,但是不包括him、history等字样
1.1 ^:匹配字符串的开始,特指一个段落的起始。
1.2 $:匹配字符串的结束。特指一个段落的结尾,这两个都是\b的子集。
重复:
2. *:表示*前面的内容重复出现任意多次,".*"连在一起就表示任意数量的不包含换行符的字符。
示例:\bhi\b.*\bLucy\b:先是一个hi,然后任意多个字符(但不能有回车),最后是一个单独的单词Lucy。
2.1 +:同样表示数量,但是+必须是1次或以上,不包括0次,而*是指任意数量,包括0次重复。
2.2 {n}:数量控制,前方的字符精确重复n次。
2.3 {n,m}:数量控制,前方的字符重复n到m次,n<=m。
2.4 ?:重复0次或1次。
3. .: 表示任意字符,不包含回车换行。
4. \d:匹配任意的数字(0,1,2……9)
示例:0\d\d-\d{7}:查找以0开头,后两个是数字,然后是一个连字符"-",接着是7个数字的字符串,如:025-8224110。
5. \s:匹配任意的空白符,包括空格、制表符(tab键)、换行符、中文全角空格等。
6. \w:匹配字母、数字、下划等。
示例1:\ba\w*\b:匹配以字母"a"开头,然后是任意多个任意字符不包括空格等空白符,然后一个单词结束符。其意义就是以a开头的所有单词。
示例2:\b\w{6}\b:匹配正好是6个字符长度的单词。
7. []:任意匹配一个方括号中存在的字符。
示例:[abc]\w{4}\b:以a、b、c中的任意一个字符为开头,后面有4个字母的单词。
反义
8. \D \S \W \B 这些元字符的大写形式分别表示他们表示的集合的反义。
示例:\D:表示不是数字的所有字符,如:abced
8.1 [^x]:表示不是x字符的所有字符
8.2 [^xyz]:表示不是x、y、z中任一种的字符
9.替换
"|":使用"|"符号可以实现逻辑或运算,配合小括号"()"的使用,可以实现不同条件的或运算。
10分组
"()":用括号包围住已经实现的表达式,可以方便的继续使用重复、替换等操作。
示例:\b(\w+\b\s+)\1+\b:将第一次出现的括号表达式用\1表示,可以匹配go go go
自学到这里已经非常不错了,下面继续研究正则表达式的高级属性
断言:
(?=express)这是一种假定条件,可以放在表达式的后方,已验证前方的字符后面的表达式是否为express,但是并不包含后方的express。
示例:\b\w*(?=ing\b):取得后缀为ing的所有单词的前缀。
(?<=express)前置断言,放于表达式首部,已验证字符串前方的表达式是否符合express,同样也不包含express本身。
示例:(?<=\bre)\w*\b:取得所有前缀为re的单词的后面部分
注释:
(?#)以这种形式来注释正则表达式。
示例:2[0-4]\d(?#200-249)
懒惰模式匹配
*:匹配最多的字符
*?:匹配最少的字符

相关文章

  • js正则表达式常用函数详解

    js正则表达式常用函数详解

    关于正则表达式,是前端学习的重点和难点。本文主要带领大家一起应用一些正则表达式,简单介绍一些正则表达式中常用的方法及对象,例如:test、exec、match、replace、search等等。
    2015-12-12
  • javascript正则表达式容易被忽略的小问题整理

    javascript正则表达式容易被忽略的小问题整理

    小问题:lastIndex只对exec()和test()方法起作用,string.match(regexp)是不会影响regexp这个正则的lastIndex属性的,具体祥看本文
    2013-07-07
  • Python正则表达式中的re.S的作用详解

    Python正则表达式中的re.S的作用详解

    在Python的正则表达式中,有一个参数为re.S。它表示“.”(不包含外侧双引号,下同)的作用扩展到整个字符串,包括“\n”。本文重点给大家介绍Python正则表达式中的re.S的作用,感兴趣的朋友一起看看吧
    2018-08-08
  • 用Java正则去掉字符串中重复出现的字符

    用Java正则去掉字符串中重复出现的字符

    abcde 顺序可以不一样,也就是去掉重复出现的字符
    2010-12-12
  • 正则表达式进行页面表单验证功能

    正则表达式进行页面表单验证功能

    一般做到注册页面的时候,当用户填完信息,都需要对他们的信息进行验证,这就要用到正则表达式。本文通过实例给大家介绍正则表达式进行页面表单验证功能,一起看看吧
    2017-03-03
  • 浅谈正则表达式 实例入门

    浅谈正则表达式 实例入门

    这些都是 javascript 正则表达式的基本方法,如果你看会了看复杂的正则你会有豁然开朗的感觉。
    2010-03-03
  • js匹配网址url的正则表达式集合

    js匹配网址url的正则表达式集合

    今天在开发客户端url验证的时候,整理的代码,发现了一些不错的匹配url网址的正则表达式特整理一下,方便需要的朋友
    2016-10-10
  • php正则表达式取得内容所有链接的方法

    php正则表达式取得内容所有链接的方法

    这篇文章主要介绍了php正则表达式取得内容所有链接的方法,提供了两个不同的实现方法供大家灵活选择,需要的朋友可以参考下
    2014-12-12
  • JavaScript 去前后全脚半脚空格的正则

    JavaScript 去前后全脚半脚空格的正则

    去除特殊空格的正则表达式,大家可以参考下
    2008-12-12
  • js 正则表达式之test函数讲解

    js 正则表达式之test函数讲解

    该方法的返回值是布尔值,通过该值可以匹配字符串中是否存在于正则表达式相匹配的结果,如果有匹配内容,返回ture,如果没有匹配内容返回false,该方法常用于判断用户输入数据的合法性,比如检验Email的合法性
    2012-10-10

最新评论