正则表达式

单字符匹配

字符 匹配 举例
. 匹配任意字符(除了\n)
[...] 匹配字符集 待匹配字符:android
使用正则表达式:[a-z]
\d \D 匹配数字 / 非数字 待匹配字符:1314
使用正则表达式:\d
\s \S 匹配空白/非空白字符
\w \W 匹配包含下划线的任何单词字/匹配任何非单词字符

多字符匹配

字符 匹配 举例
* 匹配前一个字符0次或者无限次
+ 匹配前一个字符1次或者无限次
匹配前一个字符0次或者1次
*?、+?、?? 匹配模式为非贪婪(尽可能少匹配) 待匹配字符:android
使用正则表达式:[a-z]+?
匹配结果:a
{m} 、{m,} 、 {m,n} 匹配前一个字符m次、至少匹配m次、最少匹配m次且最多匹配n次 待匹配字符:android
使用正则表达式:[a-z]{3,5}
匹配结果:andro

边界匹配

字符 匹配
^ 匹配字符串开头
& 匹配字符串结尾
\A 与 \Z 指定的字符串匹配必须出现在开头与结尾

分组匹配

字符 匹配 举例
| 匹配左右任意一个表达式
(ab) 括号中表达式作为一个分组 待匹配字符:OCFT@ping.com.cn
使用正则表达式:[\w]{4,10}@(pingan|163).com.cn
匹配结果:OCFT@ping.com.cn
\<number> 引用编号为num的分组匹配到的字符串 待匹配字符:<book>Android</book>
使用正则表达式:<([\w]+>)[\w]+</\1
此时\1代表的就是:book>
(?P<name>) 分组起一个别名 待匹配字符:<book>Android</book>
使用正则表达式:<(?P<mark>[\w]+>)[\w]+</(?p=mark)
此时(?P<name>)代表的别名就是:book>
(?P=name) 引用别名为name的分组匹配字符串 待匹配字符:<book>Android</book>
使用正则表达式:<(?P<mark>[\w]+>)[\w]+</(?p=mark)
此时(?P=name)代表引用的别名就是:book>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python的re模块--细说正则表达式 可能是东半球最详细最全面的re教程,翻译自官方文档,因为官方文档写的是真...
    立而人阅读 23,147评论 4 46
  • Python中的正则表达式(re) import rere.match #从开始位置开始匹配,如果开头没有则无re...
    BigJeffWang阅读 12,015评论 0 99
  • 正则表达式描述的是一种规则,符合这种限定规则的字符串我们认为它某种满足条件的,是我们所需的。在正则表达式中,主要有...
    Single_YAM阅读 4,055评论 0 4
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 9,517评论 0 20
  • 欢迎来到异类的部落,这里是张萌萌姐的第624条早安问候。 时间总是过得很快,想到2018年只剩最后...
    雪山飞遐阅读 1,079评论 0 0