import re a='internal Void <Init>b__0(String msg) { }' match=re.search( r'\b[0-9a-zA-Z_<>]+\b(?=[(])', a, re.M|re.I) if match: function_name=match.group() function_name=function_name.replace('<','$') function_name=function_name.replace('>','$') print(function_name) 修改以上代码,要求能匹配到在字符串中任意位置的尖括号,如">a>d<d<>d>d<",在这个例子中,要使输出结果为$Init$b__0
时间: 2023-12-25 18:04:44 浏览: 29
可以使用以下的代码来匹配带有尖括号的函数名:
```python
import re
a = 'internal Void <Init>b__0(String msg) { }'
pattern = r'<*[0-9a-zA-Z_<>]+>*\b(?=[(])'
match = re.search(pattern, a, re.M|re.I)
if match:
function_name = match.group()
function_name = function_name.replace('<', '$')
function_name = function_name.replace('>', '$')
print(function_name)
else:
print('No match found.')
```
输出结果为: `$Init$b__0`。这个代码中的正则表达式 `r'<*[0-9a-zA-Z_<>]+>*\b(?=[(])'` 可以匹配任意位置的尖括号,`(?=[(])` 表示匹配函数名后面跟随一个左括号。