Python match。group
时间: 2024-02-28 15:55:51 浏览: 145
match
`match.group()` 是 Python 中用于获取正则表达式匹配结果的方法。在使用正则表达式进行匹配时,如果匹配成功,`match.group()` 可以用于获取匹配到的字符串。
下面是一个简单的例子:
```python
import re
pattern = r"hello (\w+)"
string = "hello world"
match = re.match(pattern, string)
if match:
print(match.group(0)) # 输出 "hello world"
print(match.group(1)) # 输出 "world"
```
在上述代码中,首先定义了一个正则表达式 `r"hello (\w+)"`,该正则表达式匹配以 "hello " 开头,后面跟着一个或多个字母数字字符的字符串。然后我们使用 `re.match()` 方法对字符串 "hello world" 进行匹配,因为该字符串符合正则表达式的要求,所以匹配成功。接着使用 `match.group()` 方法获取匹配结果,其中 `match.group(0)` 表示整个匹配到的字符串,即 "hello world",`match.group(1)` 表示第一个括号中匹配到的内容,即 "world"。
需要注意的是,如果使用 `re.search()` 或 `re.findall()` 等方法进行正则表达式匹配,同样可以使用 `group()` 方法来获取匹配结果。不同的是,`re.search()` 方法返回第一个匹配到的结果,`re.findall()` 方法返回所有匹配到的结果。在这种情况下,`group()` 方法需要传入一个参数,用于指定要获取的匹配结果的索引。
下面是一个使用 `re.search()` 方法的例子:
```python
import re
pattern = r"hello (\w+)"
string = "hello world, hello python"
match = re.search(pattern, string)
while match:
print(match.group(0)) # 输出 "hello world"
print(match.group(1)) # 输出 "world"
match = re.search(pattern, string, match.end())
```
在上述代码中,我们使用 `re.search()` 方法对字符串 "hello world, hello python" 进行匹配,并循环打印出所有匹配结果。需要注意的是,由于字符串中有两个符合正则表达式要求的子串,因此我们需要使用 `match.end()` 方法来指定从哪个位置开始继续匹配。
阅读全文