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

时间:2014-11-25 04:57:19

标签: c# regex

这是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>.+?)$,我知道这个正则表达式有一些问题,但我已经尝试修改以纠正模式,但也许我是新手,结果仍然无法满足我的要求。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

好像你想要这样的东西,

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

DEMO

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

答案 1 :(得分:0)

试试这个,当值在多行上分割但在后面的行之前停止时,它正确地包含整个值。

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

DEMO