正则表达式是一种特殊的字符序列,它可以帮助您方便地检查字符串是否匹配某种模式。下面这篇文章主要介绍python正则表达式的相关信息,通过图片、文字和示例代码进行了非常详细的介绍。有需要的可以参考一下。
1.正则表达式
正则表达式用于匹配和查找字符串。从网上爬取数据,自然会或多或少的用到正则表达式。python的正则表达式要先引入re模块,正则表达式由R引导,比如:
其中* * r "\ d" * *正则表达式的意思是匹配多个连续的值,搜索是re中的一个函数。从“abc123cd”字符串中搜索连续值以获得“123”并返回匹配的对象。结果如上。
2.字符串"\d"匹配0~9之间的一个数值
3.字符"+"重复前面一个匹配字符一次或者多次.
注意:* * r 'b \ d ' * *第一个字符应该匹配' b ',后面是连续的数字,所以' b1233 '不是' a12 '。
4.字符"*"重复前面一个匹配字符零次或者多次.
“‘相似’但不同,如:
可以看出,r'ab“匹配' ab”,但r'ab“匹配' a”,是因为它意味着' b '可以重复零次,而" "要求' b '重复一次以上。
5.字符"?"重复前面一个匹配字符零次或者一次.
结果‘ab’匹配,B重复一次。
6.字符".“代表任何一个字符,但是没有特别声明时不代表字符”\n".
结果“.”表示字符“x”。
7."|"代表把左右分成两个部分 .
结果可以匹配‘ab’或‘ba’。
8.特殊字符使用反斜杠"“引导,例如”\r"、"\n"、"\t"、"\"分别表示回车、换行、制表符号与反斜线自己本身.
9.字符"\b"表示单词结尾,单词结尾包括各种空白字符或者字符串结尾.
结果与“汽车”匹配,因为“汽车”后面有一个空格。
10."[]中的字符是任选择一个,如果字符ASCll码中连续的一组,那么可以使用"-"字符连接,例如[0-9]表示0-9的其中一个数字,[A-Z]表示A-Z的其中一个大写字符,[0-9A-z]表示0-9的其中一个数字或者A-z的其中一个大写字符.
11."^"出现在[]的第一个字符位置,就代表取反,例如[ ^ab0-9]表示不是a、b,也不是0-9的数字.
12."\s"匹配任何空白字符,等价"[\r\n\x20\t\f\v]"
13."\w"匹配包括下划线子内的单词字符,等价于"[a-zA-Z0-9]"
14."$"字符比配字符串的结尾位置
结果是最后一个ab,而不是第一个ab
15.使用括号(…)可以把(…)看出一个整体,经常与"+"、"*"、"?"的连续使用,对(…)部分进行重复.
结果' abab ',''重复了' ab '
16.查找匹配字符串
正则表达式re库的搜索功能使用正则表达式匹配待匹配的字符串。如果匹配不成功,它将返回None。如果匹配成功,它将返回一个匹配的对象。匹配对象会调用start()函数获取匹配字符的起始位置,匹配对象会调用end()函数获取匹配字符串的结束位置。虽然搜索只返回第一个匹配的结果,但我们可以通过连续使用搜索函数找到所有匹配的字符串。
匹配英语句子中的所有单词。
我们可以使用正则表达式r "[a-za-z] \b '来匹配单词,意思是匹配由大小写字母组成的连续数量的字符,通常是一个单词,后跟' \b '表示单词的结尾。
程序开始匹配一个单词后,m.start(),m.end()是单词的起始位置,s[start:end]是截取的单词。然后,程序再次匹配字符串s=s[end:]即字符串的后半部分,找出每个单词,直到匹配完毕。
总结
关于python正则表达式的这篇文章到此为止。有关python正则表达式的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。