文章列表
\u00e9 匹配é
也可以使用八进制\351来匹配é
使用ack
ack '\pL' schiller.txt 可以查看属性为L(所有字母)的字符
ack '\p{Ll}' schiller.txt 小写字母高亮
字符属性
C 其他字符
Cc 控制字符
Cf 格式字符
Cn 未分配字符
Co 专用字符
Cs 替代字符
L 字母
Ll 小写字母
Lm 修饰字母
Lo 其他字母
Lt 标题大写字母
Lu 大写字母
L& Ll,Lu或者Lt
M 标记符号
Mc ...
字符组(方括号表达式)有助于匹配字符或特定的字符序列
[aeiou] 匹配元音
[3-6] 匹配3456
[a-f] 匹配abcdef
如用\b[24680]\b|\b[1-9][24680]\b 可以匹配0~99的偶数
用[a-fA-F0-9]可以匹配十六进制的字符
匹配空格和单词字符可以用[\w\s]等同于[_a-zA-Z \t\n\r]
字符组取反
用^可以取反
[^aeiou] 匹配不是元音的字符
并集
[0-3[6-9]] 匹配01236789
差集
[a-z&&[^m-r]] 匹配a-z除去m-r的字符
POSIX ...
正则表达式学习 3 选择、分组和后向引用
- 博客分类:
- 正则表达式
选择可以在两种或者更多的模式中选择一个
如 (The|the|THE) 匹配 THE RIME OF THE ANCYENT MARINERE, IN SEVEN PARTS.
也可以使用 (?i)the 达到相同效果(不区分大小写)。
正则表达式中的选项
(?d) Unix中的行
(?i) 不区分大小写
(?J) 允许重复的名字
(?m) 多行
(?s) 单行(dotall)
(?u) Unicode
(?U) 默认匹配最短
(?x) 忽略空格和注释
(?-...) 复原或关闭选项
子模式(t|T)h(e|eir) 匹配the The their The ...
正则表达式学习 2 边界
- 博客分类:
- 正则表达式
断言(零宽度断言)标记边界,不匹配字符,用来匹配字符串中的位置。
^和$标记行的起始与结束
如 ^How.*Country\.$ 匹配 How a Ship having passed the Line was driven by Storms to the cold Country towards the South Pole; and how from thence she made her course to the tropical Latitude of the Great Pacific Ocean; and of the strange things ...
[0-9] 匹配 0~9 等于 \d
[ab0] 只匹配a,b或0
[^a0] 匹配除了a或0的字符\D 除了数字以外的字符(包括空格 方括号 反斜杠啥的)
\w 只匹配字母,数字和下划线 等于[_a-zA-Z0-9]
\W 匹配\w之外的
字符简写式(不是所有的正则表达式解释器都能处理)
\a 报警符
[\b] 退格符
\c x 控制字符
\d 数字
\D 非数字
\o xxx 字符的八进制值
\x xx 字符的十六进制值
\u xxx 字符的Unicode值
\w 单词字符
\W 非单词字符
\0 空字符
\s 空格 等于[ \t\n\ ...