gpt4 book ai didi

python - 了解正则表达式

转载 作者:行者123 更新时间:2023-11-28 19:33:36 25 4
gpt4 key购买 nike

我正在尝试解析由 gcc 生成的映射文件以获取函数地址。有可能 solution here (python),但它对我不起作用。

我正在尝试理解所提供的解决方案。它有两个复杂的正则表达式..

m = re.search('^\[([0-9 ]+)\]\s+(.+)\s*$',line )
m = re.search('^([0-9A-Fx]+)\s+([0-9A-Fx]+)\s+(\[([ 0-9]+)\]|\w+)\s+(.*?)\s*$', line)

谁能解释一下 RE 在搜索什么?

是否有任何其他可行的解决方案可以从 gcc 生成的映射文件中获取函数地址?

最佳答案

^\[([0-9 ]+)\]\s+(.+)\s*$

^ start of the line
\[ literal [
([0-9 ]+) group of 0-9 or space, one or more times
\] literal ]
\s+ one or more spaces
(.+) group of anything one or moretimes
\s* zero or more spaces
$ end of line


eg: "[5 5 5] blah"

gives:
group1 = "5 5 5"
group2 = blah

^([0-9A-Fx]+)\s+([0-9A-Fx]+)\s+(\[([ 0-9]+)\]|\w+)\s+(.*?)\s*$

^ start of line
([0-9A-Fx]+) group of chars one or more times
\s+ one or more spaces
([0-9A-Fx]+) group of chars one or more times
\s+ one or more spaces
(
\[ literal [
([ 0-9]+) group of char 1 or more times
\] literal [
| or
\w+ word char, one or more times
)
\s+ one or more spaces
(.*?) any char zero or more times, non greedy
\s* zero or more spaces
$ end of line

关于python - 了解正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10227359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com