提取Delphi字符串文字

2024-09-29 22:32:47 发布

您现在位置:Python中文网/ 问答频道 /正文

请告诉我如何从Delphi文件中提取所有字符串文本。 用引号括起来的文字没有问题。但是字符串文字也可以用散列码表示。它也可以由引号和散列码组成。例如:

#1072#1073#1074#1075#1076', qwerty'#1072#1073#1074#1075#1076
'qwerty, '#1074#1075#1076
#1072#1073#1074#1075#1076', qwerty'
#1072#1073#1074#1075#1076', qwerty#1076'

我需要提取所有这些文字 我_只_需要_一_个_主意_ 。_我会在Phyton上看到的


Tags: 文件字符串文本引号主意文字我会qwerty
1条回答
网友
1楼 · 发布于 2024-09-29 22:32:47

对于您有限的用例,您不需要任何像解析器这样正式的东西。正则表达式就足够了。在

编写一个与传统的带引号的字符串匹配的正则表达式并不难:'['\r\n]*'。同样,编写一个表达式来匹配字符代码并不复杂,只要您不关心限制匹配的数字范围*:#(\d+|\$[0-9A-Fa-f]+)。一旦你有了这些积木,你只需要把它们放在一起:

('[^\n\r']*'|#(\d+|\$[0-9A-Fa-f]+))+

这对大多数代码都有效,但对于任意Delphi文件来说,这还不够。该正则表达式可以匹配内部注释。更糟糕的是,它可能会匹配似乎跨越评论的文本。例如:

^{pr2}$

这是一个注释后跟一个单引号,而不是字符串foo{}。您也可以通过扩充正则表达式来匹配注释来解决这个问题。然后,在处理结果时,跳过注释。在

*您不必担心数字范围,因为您可以根据有效的Delphi代码运行程序。在

相关问题 更多 >

    热门问题