如何从 java 属性中提取字符串

本文关键字:提取 字符串 属性 java | 更新日期: 2023-09-27 18:31:46

这是java属性内容

xxx_error_tx1 = This is xxxx. Johe say:
xxx_error_MapCode = xxx_error_tx1, test this function,Failed,'
               Default, Current,'
               App_Error_tx1
我需要提取字符串ID和字符串内容,

我可以正确提取line1内容,但第二行内容仅提取第一个字符串xxx_error_tx1, test this function,Failed,'。字符串的其余部分无法提取。

正则表达式字符串(?<ID>.+?)=(?<Translation>.+?)$,我知道这个正则表达式有一些问题,但是我已经尝试修改以纠正模式,但也许我是新手,结果仍然无法满足我的要求。

任何帮助将不胜感激。

如何从 java 属性中提取字符串

似乎你想要这样的东西,

(?<ID>.+?)=(?<Translation>(?:(?!'S+'s*=)['s'S])+)

演示

(?:(?!'S+'s*=)['s'S])+ 匹配一个或多个空格或非空格字符,这些字符不包含与此'S+'s*=模式匹配的字符串。

试试这个,当值被拆分为多行但在后面的行之前停止时,它会正确包含整个值。

(?<ID>.+?)=(?<Translation>(?:.*'''s)*.*)

演示