Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试从格式的字符串中提取组{{field: value} {field2: value} ... {fieldn: valuen}}
{{field: value} {field2: value} ... {fieldn: valuen}}
我被困在{(.*): (.*)}- 在 RegexTester 中,它匹配整个字符串(可以理解),但在执行中,它抛出异常 - “非法重复”
{(.*): (.*)}
首先,{应该}逃避,因为它们意味着重复的次数
{
}
其次,我认为您只想匹配字符串的一部分。您可以只允许允许的字符(例如 [a-z0-9]),这样输入字符串就不会被匹配
\\{([a-z0-9]*): ([a-z0-9]*)\\}
正如评论中所指出的,您可以允许除一些特殊字符之外的所有字符[^{}:]。如果我没记错的话,你不需要{}在字符类中转义。
[^{}:]
{}
转义一些字符:
"\\{(.*): (.*)\\}"
字符 } 和 { 有特殊含义,需要转义。