正则表达式的观点
正则表达式是对字符串操纵的一种逻辑公式,就是用事前定义好的一些特定字符、及这些特定字符的组合,构成一个“划定规矩字符串”,这个“划定规矩字符串”用来表达对字符串的一种过滤逻辑。
正则表达式的语法划定规矩
正则表达式的大抵婚配历程是:
1.顺次拿出表达式和文本中的字符比较,
2.假如每个字符都能婚配,则婚配胜利;一旦有婚配不胜利的字符则婚配失利。
3.假如表达式中有量词或边境,这个历程会轻微有一些差别。
下面是Python中正则表达式的一些婚配划定规矩
形式 |
形貌 |
^ |
婚配字符串的开首 |
$ |
婚配字符串的末端。 |
. |
婚配除了换行符(\n)的恣意字符,当re.DOTALL标记被指定时,则能够婚配包括换行符的恣意字符。 |
[...] |
用来示意一组字符,零丁列出:[amk] 婚配 'a','m'或'k' |
[^...] |
不在[]中的字符:[^abc] 婚配除了a,b,c以外的字符。 |
re* |
婚配0个或多个的表达式。 |
re+ |
婚配1个或多个的表达式。 |
re? |
婚配0个或1个由前面的正则表达式定义的片断,非贪欲体式格局 |
re{ n} |
|
re{ n,} |
准确婚配n个前面表达式。 |
re{ n, m} |
婚配 n 到 m 次由前面的正则表达式定义的片断,贪欲体式格局 |
a| b |
婚配a或b |
(re) |
G婚配括号内的表达式,也示意一个组 |
(?imx) |
正则表达式包括三种可选标志:i, m, 或 x 。只影响括号中的地区。 |
(?-imx) |
正则表达式封闭 i, m, 或 x 可选标志。只影响括号中的地区。 |
(?: re) |
相似 (...), 然则不示意一个组 |
(?imx: re) |
在括号中运用i, m, 或 x 可选标志 |
(?-imx: re) |
在括号中不运用i, m, 或 x 可选标志 |
(?#...) |
解释. |
(?= re) |
前向一定界定符。假如所含正则表达式,以 ... 示意,在当前位置胜利婚配时胜利,不然失利。但一旦所含表达式已尝试,婚配引擎基础没有进步;形式的盈余部份还要尝试界定符的右侧。 |
(?! re) |
前向否认界定符。与一定界定符相反;当所含表达式不能在字符串当前位置婚配时胜利 |
(?> re) |
婚配的自力形式,省去回溯。 |
\w |
婚配字母数字及下划线,等价于'[A-Za-z0-9_]'。 |
\W |
婚配非字母数字及下划线,等价于 '[^A-Za-z0-9_]'。 |
\s |
婚配恣意空缺字符,等价于 [\t\n\r\f]. |
\S |
婚配恣意非空字符,等价于 [^ \f\n\r\t\v]。 |
\d |
婚配恣意数字,等价于 [0-9]. |
\D |
婚配恣意非数字,等价于 [^0-9]。 |
\A |
婚配字符串最先 |
\Z |
婚配字符串完毕,假如是存在换行,只婚配到换行前的完毕字符串。c |
\z |
婚配字符串完毕 |
\G |
婚配末了婚配完成的位置。 |
\b |
婚配一个单词边境,也就是指单词和空格间的位置。比方, 'er\b' 能够婚配"never" 中的 'er',但不能婚配 "verb" 中的 'er'。 |
\B |
婚配非单词边境。'er\B' 能婚配 "verb" 中的 'er',但不能婚配 "never" 中的 'er'。 |
\n, \t, 等. |
婚配一个换行符。婚配一个制表符。等 |
\1...\9 |
婚配第n个分组的内容。 |
\10 |
婚配第n个分组的内容,假如它经婚配。不然指的是八进制字符码的表达式。 |
以上就是python正则表达式详解的细致内容,更多请关注ki4网别的相干文章!