此正则表达式能否提高内存效率

问题描述 投票:0回答:1

我得到一个xml,为纯格式文本。我必须进行一些替换,并使用正则表达式查找和替换。例如:

<MeasureValue><Text value="StartCalibration" /></MeasureValue>

必须转换为

<MeasureValue type="Text" value="StartCalibration"/>

我写的正则表达式是

<MeasureValue><((\w*)\s+value="(.*?)".*?)></MeasureValue>

替换部分是:

<MeasureValue type="$2" value="$3"/>

这里显示的是link

问题是,在具有370种此类情况的文件中,我出现内存不足错误。我听说过所谓的贪婪正则表达式模式,并且想知道是否可能是困扰我的情况。如果这已经提高了内存效率,那么我将保持现状,并尝试增加服务器内存。我必须处理成千上万的此类文档。

编辑:这是Elasticsearch的Logstash脚本的一部分。根据文档,Elasticsearch在内部使用Apache Lucene解析正则表达式。不确定是否有帮助。

regex regex-group regex-greedy
1个回答
1
投票

根据经验,特异性与正则表达式的效率呈正相关。因此,了解您的数据

© www.soinside.com 2019 - 2024. All rights reserved.