当前位置:首页 » 编程语言 » python正则group

python正则group

发布时间: 2022-09-11 00:29:31

python中正则问题


r'(.*) are (.*?) .*'

首先,这是一个字符串,前面的一个r表示字符串为非转义的原始字符串,让编译器忽略反斜杠,也就是忽略转义字符。但是这个字符串里没有反斜杠,所以这个r可有可无。


  1. (.*) 第一个匹配分组,.*代表匹配除换行符之外的所有字符

  2. (.*?)第二个匹配分组,.*?后面多个问号,代表非贪婪模式,也就是说只匹配符合条件的最少字符

  3. 后面的一个.* 没有括号包围,所以不是分组,匹配效果和第一个一样,但是不计入匹配结果中。


matchObj.group() 等同于matchObj.group(0),表示匹配到的完整文本字符

matchObj.group(1) 得到第一组匹配结果,也就是(.*)匹配到的

matchObj.group(2) 得到第二组匹配结果,也就是(.*?)匹配到的


因为只有匹配结果中只有两组,所以填3时会报错。






❷ Python 正则匹配为什么group(1)返回为空,group(2)返回为none

你的正则从a字符串提取不到任何信息,自然打印就空白了。

❸ python 正则表达式 groups和group有什么区别

group和groups是两个不同的函数。

一般,m.group(N) 返回第N组括号匹配的字符。
而m.group() == m.group(0) == 所有匹配的字符,与括号无关,这个是API规定的。

m.groups() 返回所有括号匹配的字符,以tuple格式。
m.groups() == (m.group(0), m.group(1), ...)

对你给的例子:

m = re.match("([abc])+", "abc")
你的+号在括号外面。括号最多匹配到一个字符,要么是a, 要么是c,这个python引擎匹配的是末尾的c。
而m.group() == m.group(0) 这个返回的是整个匹配的字符串"abc".

关于捕获型括号在正则表达式里的用法,参见相关文档。

❹ python 正则表达式 groups和group有什么区别

group和groups是两个不同的函数。
一般,m.group(N)
返回第N组括号匹配的字符。
而m.group()
==
m.group(0)
==
所有匹配的字符,与括号无关,这个是API规定的。
m.groups()
返回所有括号匹配的字符,以tuple格式。
m.groups()
==
(m.group(0),
m.group(1),
...)

你给的
例子:
m
=
re.match("([abc])+",
"abc")
你的+号在括号外面。括号最多匹配到一个字符,要么是a,
要么是c,这个python引擎匹配的是末尾的c。
而m.group()
==
m.group(0)
这个返回的是整个匹配的字符串"abc".
关于捕获型括号在
正则表达式
里的用法,参见相关文档。

❺ python 正则表达式 groups和group有什么区别

group和groups是两个不同的函数。

一般,m.group(N) 返回第N组括号匹配的字符。
而m.group() == m.group(0) == 所有匹配的字符,与括号无关,这个是API规定的。

m.groups() 返回所有括号匹配的字符,以tuple格式。
m.groups() == (m.group(0), m.group(1), ...)

对你给的例子:

m = re.match("([abc])+", "abc")
你的+号在括号外面。括号最多匹配到一个字符,要么是a, 要么是c,这个python引擎匹配的是末尾的c。
而m.group() == m.group(0) 这个返回的是整个匹配的字符串"abc".

❻ 关于python正则匹配的问题

使用pat.findall
匹配整个字符串,多次匹配
使用pat.search
整个字符串中匹配,只匹配一次
使用pat.match
从第一个字符开始匹配,只匹配一次
但是使用search和match必须使用group()来查看
即:你可以这样
result
=
pat.search(buff)
result.group()
#这个就是你相匹配的东西,只匹配一次

❼ python正则表达式groups和group有什么区别

group和groups是两个不同的函数。
一般,m.group(N)
返回第N组括号匹配的字符。
而m.group()
==
m.group(0)
==
所有匹配的字符,与括号无关,这个是API规定的。
m.groups()
返回所有括号匹配的字符,以tuple格式。
m.groups()
==
(m.group(0),
m.group(1),
...)
对你给的例子:
m
=
re.match("([abc])+",
"abc")
你的+号在括号外面。括号最多匹配到一个字符,要么是a,
要么是c,这个python引擎匹配的是末尾的c。
而m.group()
==
m.group(0)
这个返回的是整个匹配的字符串"abc".
关于捕获型括号在正则表达式里的用法,参见相关文档。

❽ python 正则表达式

按照你的要求编写的程序如下

importre

s='[有效信息]ab[abd]ab[abe]ab[abf]'

regex=r'[有效信息](ab[[a-z]+])+'

result=re.match(regex,s)

ifresult:

print(result.group())

else:

print("NoMatch!")

源代码(注意源代码的缩进)

❾ python 正则表达式 groups和group有什么区别

group和groups是两个不同的函数。

一般,m.group(N) 返回第N组括号匹配的字符。
而m.group() == m.group(0) == 所有匹配的字符,与括号无关,这个是API规定的。

m.groups() 返回所有括号匹配的字符,以tuple格式。
m.groups() == (m.group(0), m.group(1), ...)

正则表达式中,group()用来提取分组截获的字符串,()用来分组。

组是通过 "(" 和 ")" 元字符来标识的。 "(" 和 ")" 有很多在数学表达式中相同的意思;它们一起把在它们里面的表达式组成一组。举个例子,你可以用重复限制符,象 *, +,?, 和 {m,n},来重复组里的内容,比如说(ab)* 将匹配零或更多个重复的 "ab"。

如果不引入括号,整个个表达式作为一个组,是group(0)



对于题目中的例子:

m = re.match("([abc])+", "abc")
+号在括号外面。括号最多匹配到一个字符,要么是a, 要么是c,这个python引擎匹配的是末尾的c。
而m.group() == m.group(0) 这个返回的是整个匹配的字符串"abc".

❿ Python正则表达式的几种匹配方法

1.测试正则表达式是否匹配字符串的全部或部分
regex=ur"" #正则表达式
if re.search(regex, subject):
do_something()
else:
do_anotherthing()

2.测试正则表达式是否匹配整个字符串

regex=ur"/Z" #正则表达式末尾以/Z结束
if re.match(regex, subject):
do_something()
else:
do_anotherthing()

3.创建一个匹配对象,然后通过该对象获得匹配细节(Create an object with details about how the regex matches (part of) a string)

regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
# match start: match.start()
# match end (exclusive): atch.end()
# matched text: match.group()
do_something()
else:
do_anotherthing()

4.获取正则表达式所匹配的子串(Get the part of a string matched by the regex)

regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
result = match.group()
else:
result = ""

热点内容
算法工作原理 发布:2025-01-12 20:36:38 浏览:24
网络访问监控软件 发布:2025-01-12 20:26:57 浏览:465
养羊啦源码 发布:2025-01-12 20:25:48 浏览:570
轩逸朗逸哪个配置最好 发布:2025-01-12 20:10:00 浏览:49
主板存储器分 发布:2025-01-12 20:04:46 浏览:376
数据库逻辑运算 发布:2025-01-12 20:03:54 浏览:571
javawindows服务器搭建 发布:2025-01-12 19:59:37 浏览:570
linux关闭iptables 发布:2025-01-12 19:58:49 浏览:150
服务器电脑名字改了影响数据库吗 发布:2025-01-12 19:58:44 浏览:652
手机存储优化 发布:2025-01-12 19:58:43 浏览:356