我有一个巨大的文件,它只是这些块的重复单元:
//WAYNE ROONEY (wr10)
90 [label="90"];
90 -> 11 [weight=25];
90 -> 21 [weight=23];
90 -> 31 [weight=17];
90 -> 41 [weight=12];
90 -> 51 [weight=1];
90 -> 62 [weight=50];
90 -> 72 [weight=7];
90 -> 82 [weight=27];
90 -> 92 [weight=9];
90 -> 102 [weight=43];
我需要转换成这样的格式
^{pr2}$也就是说,我只需要去掉所有多余的东西,把号码保持原样。在
我尝试使用regex,代码如下:
for line in filein:
match = re.search('label=" "', line)
if match:
print (match.group())
但它只打印文件中'label'
的所有实例。如果我试图搜索'label=" "'
,则没有输出。如果我能知道怎么读标签的话,那么读重量就和它很相似了。在
这个怎么样:
输出:
^{pr2}$只需重定向以保存输出:
python test.py > newfile
要获得每行的所有数字,请将
r'\d+'
与.findall()
一起使用:对于
^{pr2}$label
行,您并不完全清楚要做什么,但是非常简单的循环将打印出:等等
您可以将所有行与以下内容匹配:
(\d+)
->;一个数字(反向引用)\s*->\s*
->;空格->;空格(\d+)
->;另一个号码(反向引用)\s*\[weight=\"
->;空格和文本[weigth=”(\d+)
->;另一个号码(反向引用)\];
->;Literal];结束匹配。在然后你有一个编号的反向引用,如下所示:
现在可以使用所需的模式构建字符串。(1美元2美元3美元)
相关问题 更多 >
编程相关推荐