1

我正在尝试从格式的字符串中提取组{{field: value} {field2: value} ... {fieldn: valuen}}

我被困在{(.*): (.*)}- 在 RegexTester 中,它匹配整个字符串(可以理解),但在执行中,它抛出异常 - “非法重复”

4

2 回答 2

2

首先,{应该}逃避,因为它们意味着重复的次数

其次,我认为您只想匹配字符串的一部分。您可以只允许允许的字符(例如 [a-z0-9]),这样输入字符串就不会被匹配

\\{([a-z0-9]*): ([a-z0-9]*)\\}

正如评论中所指出的,您可以允许除一些特殊字符之外的所有字符[^{}:]。如果我没记错的话,你不需要{}在字符类中转义。

于 2013-07-29T23:17:38.080 回答
0

转义一些字符:

"\\{(.*): (.*)\\}"

字符 } 和 { 有特殊含义,需要转义。

于 2013-07-29T23:15:50.083 回答