精通正则表达式:第一章
正则表达式入门本篇写的是正则表达式入门的内容,包括元字符及其相关术语,以及一些简单的语言差异。 元字符1.脱字符和美元符字符^是脱字符,可以锚定一行文本的开头;字符$是美元符,可以锚定一行文本的结束.注意,这里匹配的都是位置,而不是字符或者内容。 2.字符组字符组是指用方括号包围起来的字符,类似[...]。匹配的内容是是一个字符1。要注意的是,字符组内部也有元字符,且字符组外部的元字符在字符组内部无意义。 -是连字符,在字符组的两个字符中间可以表示一个范围,如[1-6]可以表示[123456]。在字符组中,如果要匹配连字符,最好放在最前面2。 ^放在字符组开头,则成为一个排除型字符组,会匹配除了排除型字符组中所有字符的字符。 3.匹配任意字符.(dot)可以匹配任意字符(除了.自身)。要注意的是,这个.可能被滥用,最好在使用前考虑清楚:检索的文本是否会对表达式造成干扰?是否都是固定格式? 4.多选结构可以用|来表示或。这个元字符可以把多个子表达式组合起来,只要求匹配其中一个即可。这时,子表达式又称作“多选分支”(alternative)。 由于字符组只能匹配单个字符,而多选结构则可以匹配字符串,弥补了它的缺陷。 5.忽略大小写在Python中,使用参数i打开。在英文中,经常出现这中需要。而忽略大小写就可以避免某些人由于打错字或者对单词的不熟悉导致的问题。 6.单词分界符在Python中,使用b作为其分界符。 在egrep中,使用<>来做分界符。 分界符可以对单词的起始和结束位置进行检查,而不至于将一个单词从另一个单词中分离。 7.可选项元素?在一个字符或者分组后面,意为着其匹配的内容允许出现,但是不出现也没问题。 8.量词*、+和?的位置相同,实际上是对其匹配内容出现的次数做一个限定。 +:要求匹配的内容出现一次及以上。 *:要求匹配的内容出现0次及以上3。 如果需要指定出现的次数,可以使用{m,n},匹配内容m次到n次。 9.括号如果需要使用分组,或者对一个分组进行量词限定,就可以使用它了。使用括号以后,可以:
10.转义符对正则表达式的元字符进行转义,实际上就是加一个实现。比如()就是指一个括号,而不是一个分组。 11. 总结
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |