正则表达式速查笔记

Android 开发笔记 onGithub

阅读《正则表达式必知必会》小册子,做一点摘要,以备用查之。

必备网站


正则表达式作用

查找或操作字符串

操作符
操作符功能示例
.匹配任何单个字符
[ ]匹配多个字符的某一个
[ 0-9A-Za-z]利用字符集合区间
^取非匹配[^0-9]
+匹配一个或多个连续的字符
*匹配零个或多个连续的字符
?匹配零个或一个字符https?匹配http和https
{6}匹配重复次数[[:xdigit:]]{6}
{2,4},{3,}匹配重复次数设定区间
*?、+?、{n, }?懒惰型元字符
\b匹配单次的开始或结尾\bcap 匹配cape不匹配recap
\B不匹配单次的开始或结尾
^定义字符串开头
$定义字符串结尾
(?m)分行匹配
( )子表达式( ){2, } 或 (19‘竖线’20)\d{2}
(?= )向前查找.+(?=:)匹配https://中的https,注意没有冒号
(?<= )向后查找
(?! )负向前查找向前查找不与给定模式匹配的文本
(?<! )负向后查找
|特殊字符转义\[
回溯

回溯中的引用 例如: [ ]+(\w+)[ ]+\1 匹配 and and

回溯中的替换 正则表达式 (\d{3})(-)(\d{3})(-)(\d{4}) 替换 ($1) $3-$5313-555-1234替换成(313) 555-1234

回溯中的条件 (aaaa)? (?(1)aaaa) \d{5}(?(?=-)=\d{4}) 匹配22222, 44444-4444 但不匹配33333-

回溯中的替换的大小写

例如: 正则表达式 (<[Hh]1>)(.*?)(</[Hh]1>) 替换 $1\U$2\E$3<h1></h1>之间内容转成大写

操作符说明
\E结束\L或\U的转换
\l把下一个字符转换成小写
\L把\L到\E之间的字符全部转换成小写
\u把下一个字符转换为大写
\U把\U到\E之间的字符全部转换为大写

特定字符类别
操作符说明
\d任何一个数字字符,等价于[0-9]
\D任何一个非数字字符,等价于[^0-9]
\w任何一个字母数字字符(大小写均可)或下划线,等价于[a-zA-Z0-9_]
\W任何一个非字母数字或下划线字符,等价于[^a-zA-Z0-9_]
\s任何一个空白字符,等价于[\f\n\r\t\v]
\S任何一个非空白字符,等价于[^\f\n\r\t\v]

POSIX字符类
字符类说明
[:alnum:]任何一个字母或数字[a-zA-Z0-9]
[:alpha:]任何一个字母
[:blank:]空格或制表符\t
[:cntrl:]ASCII控制字符(ASCII 0到31,在加上ASCII 127)
[:digit:]任何数字
[:graph:]和[:print:]一样,但不包括空格
[:lower:]任何小写字母
[:print:]任何可打印字符
[:punct:]既不属于[:alnum:]也不属于[:cntrl:]的任何一个字符
[:space:]任何一个空白字符,包括空格
[:upper:]任何一个大写字母
[:xdigit:]任何一个十六进制数字[a-fA-F0-9]

空白字符
元字符说明
\b回退(Backspace)
\f换页
\n换行
\r回车符
\t制表符
\v垂直制表符

备注

  • 正则表达式区分大小写
  • DOS或windows系统文件路径是 反斜杠
    Linux或Unix为正斜杠 /
  • 匹配十六进制值 eg: \x0A 对应于ASCII字符10,效果等价于\n
  • 匹配八进制值 eg: \011 对应于ASCII字符9,效果等价于\t
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值