Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中获得accolade(或引号)内的多行字符串?_Python_Regex - Fatal编程技术网

如何在python中获得accolade(或引号)内的多行字符串?

如何在python中获得accolade(或引号)内的多行字符串?,python,regex,Python,Regex,下面我想知道如何获得多行字符串内的荣誉或引号。 下面是test.txt文件的示例: TOTO_TEST = { 0x68, 0x65, 0x6c, 0x6c, 0x6f } 下面是我的python示例代码: import re word = 'TOTO' with open('test.txt') as f: lines = f.readlines() for strings in lines: if re.search(r'\b' + word + r'(?=.*=\s

下面我想知道如何获得多行字符串内的荣誉或引号。 下面是
test.txt
文件的示例:

TOTO_TEST = {
0x68,
0x65,
0x6c,
0x6c,
0x6f
}

下面是我的python示例代码:

import re

word = 'TOTO'

with open('test.txt') as f:
    lines = f.readlines()

for strings in lines:
    if re.search(r'\b' + word + r'(?=.*=\s*{)', strings, re.I):
        print (strings)
这将输出:

TOTO_TEST = {
我想要这样的输出:

TOTO_TEST = {0x68, 0x65, 0x6c, 0x6c, 0x6f}
编辑: 这只是总结我的项目的一个例子。我分析了大量的C/Java源代码,以找到初始化的变量。有时Java中的var是这样的多行:

private final String TOTO_TEST = {
0x68,
0x65,
0x6c,
0x6c,
0x6f
}

有人知道如何使用
re.search
实现这一点吗?

为什么要使用regex实现这一点?您的文本文件看起来像是有效的Python,所以为什么不简单地重命名它,
import
它和
print TOTO_TEST
?请查看
EDIT
,而不是想结束这个问题。您需要
re.DOTALL
使
包含新行,并且需要捕获到结束时的
。“这是我的python示例代码:[…]这将输出:
TOTO_TEST={
”。它会输出吗?在我看来,它只会打印“是”或什么都不会。你确定这就是你正在运行的代码吗?很抱歉,我粗略地复制/粘贴了我的代码,我很快将其更新为更容易理解的内容