优草派  >   Python

Python正则表达式中*是什么意思?如何理解Python正则中的(.*)

罗西汉            来源:优草派

python之中也是能够通过正则表达式来匹配字符串之中的某些指定内容子串,而很多小伙伴对于正则规则里面的*以及(.*)都想知道它是什么意思。那么这一篇文章就是会来详细讲解一下,python正则之中的符号*以及(.*)的具体含义,一起往下看看吧。

Python正则表达式中*是什么意思?如何理解Python正则中的(.*)

1.正则表达式就是通过各种符号组合来表示匹配字符串中指定内容的,而*这个符号的意思实际上很简单,单个使用时表示会匹配到所有内容。例如将其和表示数字的1-9来使用,那么就会将字符串之中所有在这之间的数字都给取出来,示例如下:

import re
info = "1234560000"
rett = re.match("[1-9*]",info)
print(rett)
123456

2.那么(.*)就是两个正则表达式符号组合起来使用的意思了,其中点表示可以匹配到除换行符之外的任意字符。那么使用括号就表示这两个正则符号需要连接起来使用,那么表示的意思就是可以匹配除换行符之外的任意多个字符,也就是基本上匹配所有字符串,代码示例如下:

import re
line = "Cats are smarter than dogs"
matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)
print ("", matchObj.group())

以上代码输出的结果就是将字符串对象line完完整整的打印了出来,这是因为在其中是没有换行符所在的,所以它会将整个字符串作为匹配到的第一个子串结果返回。如果在group()分组函数之中加上1或者2,那么所返回的结果就是第一个单词或者第三个单词了,因为分组之后还是只会匹配到一个结果。

以上就是关于“Python正则表达式中*是什么意思?如何理解Python正则中的(.*)”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。