用Python正则表达式匹配整行代码(字符串格式)



使用Python和Regex,我有一个字符串变量strSourceCode和以下

'\n函数balanceOf(地址帐户(外部视图返回(uint256(;\\r\n函数传递(地址收件人,uint256金额(外部返回(bool(;\\r\n函数允许(地址所有者、地址使用者(外部视图返回(uint256(;\\r\n函数approve(address spender,uint256 amount(外部返回(bool(;\\r\n函数transferFrom(地址发件人,地址收件人,uint256金额(外部返回(bool(;\r’

我想使用re.findall,例如匹配单词"allowant",它应该返回以\n开头、以\r结尾的整行代码,如所示

'\n函数允许(地址所有者、地址使用者(外部视图返回(uint256(;\r’

我已经挣扎了几个小时,现在决定发帖。任何帮助都会很棒!非常感谢。

我也试过re.M flag,但它似乎不起作用,我肯定做错了什么。

下面的正则表达式将查找以'\n'开头、在关键字/关键字短语前后有任何内容并且以'\r'结尾的任何匹配项。

import re
strSourceCode = 'n function balanceOf(address account) external view returns (uint256);rn function transfer(address recipient, uint256 amount) external returns (bool);rn function allowance(address owner, address spender) external view returns (uint256);rn function approve(address spender, uint256 amount) external returns (bool);rn function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);r'
what_to_match = 'allowance'
pattern = f'n .*{what_to_match}.*r'
matches = re.findall(pattern, strSourceCode)

相关内容

最新更新