我得到一个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解析正则表达式。不确定是否有帮助。
根据经验,特异性与正则表达式的效率呈正相关。因此,了解您的数据