匹配这类字符串 'int ipv6_ext_hdr(u8 nexthdr)' 中 “int” 与“(”之间的文字
时间: 2024-02-27 12:52:55 浏览: 123
可以使用正则表达式来匹配这类字符串中 "int" 与 "(" 之间的文字。可以使用 `re.search()` 函数来查找第一个匹配的结果,如下所示:
```python
import re
text = "int ipv6_ext_hdr(u8 nexthdr)"
pattern = r'int\s+(.*?)\('
result = re.search(pattern, text)
if result:
print(result.group(1)) # 输出 ipv6_ext_hdr
```
在上面的代码中,正则表达式 `int\s+(.*?)\(` 匹配了字符串中的 "int" 和 "(" 之间的文字。其中,`\s+` 匹配一个或多个空白字符,`(.*?)` 使用非贪婪模式匹配任意字符,直到遇到下一个字符 `\(`,即 "("。最后使用 `result.group(1)` 来获取匹配到的文字,即 "ipv6_ext_hdr"。
如果字符串中可能包含多个匹配项,可以使用 `re.findall()` 函数来获取所有匹配的结果。例如:
```python
import re
text = "int ipv6_ext_hdr(u8 nexthdr), int foo(), int bar(int a, int b)"
pattern = r'int\s+(.*?)\('
results = re.findall(pattern, text)
print(results) # 输出 ['ipv6_ext_hdr', 'foo', 'bar']
```
在上面的代码中,正则表达式 `int\s+(.*?)\(` 匹配了所有匹配项。使用 `re.findall()` 函数可以返回所有匹配的结果。
阅读全文
相关推荐














