0

如何提取 CardType 中的文本:[ ..... ]

CardType:[ CashRebate=[true], Platinum=[true], CoBrandCard=[true]{CoBrandType:Holt Renfrew}, ChargeCard=[true], ConsumerCard=[true], Product Type Code:null ]

最初我尝试使用以下代码

pattern p = Pattern.compile("CardType:\\[(.*?)\\]");
Matcher m = p.matcher(value);

m 得到输出为

CashRebate=[true
Platinum=[true

谁能帮帮我

谢谢

4

2 回答 2

1

如果您希望输出为:

CashRebate=[true], Platinum=[true], CoBrandCard=[true]{CoBrandType:Holt Renfrew}, ChargeCard=[true], ConsumerCard=[true], Product Type Code:null

只需使正则表达式非惰性:

pattern p = Pattern.compile("CardType:\\[(.*)\\]");
Matcher m = p.matcher(value);

这使得正则表达式匹配].

于 2013-05-29T07:41:56.907 回答
0

试试这个:

pattern p = Pattern.compile("CardType:\\[\s(.*?)\s\\]");
于 2013-05-29T07:42:00.890 回答