Это мой ответнужно регулярное выражение в Скале
scala > val a= """{"string":"{\"data\":{\"id\":\"2c91809f4ef7678b014ef86ee28511c2\",\"unitName\":\"gatlir1\",\"owner\":\"gatlir1\",\"description\":\"gatlir1\",\"nofChairs\":0,\"nofBeds\":0,\"nofApptStartWithInHour\":0,\"nofApptDischargeWithInHour\":0,\"modifiedDateTime\":\"Aug 4, 2015 4:18:13 AM\"},\"status\":\"SUCCESS\",\"message\":\"unit_save\"}"}"""
я нужно получить значение идентификатора из этого ответа в Скале. Я сохранил ответ в одной переменной. и я написал для этого регулярное выражение и сохранен в другой переменной.
В этом случае проблема возникает. RegEx:
scala> val b= """{\"id\":\"(\w+)\""""
при вставке регулярного выражения в "Ъ", я не получил какую-либо ошибки, но при сравнении я получаю ошибку
, если я пишу выражение как этого
scala> a.matches(b)
ошибка:
java.util.regex.PatternSyntaxException: Illegal repetition
{\"id\":\"(\w+)\"
at java.util.regex.Pattern.error(Pattern.java:1955)
at java.util.regex.Pattern.closure(Pattern.java:3157)
at java.util.regex.Pattern.sequence(Pattern.java:2134)
at java.util.regex.Pattern.expr(Pattern.java:1996)
at java.util.regex.Pattern.compile(Pattern.java:1696)
at java.util.regex.Pattern.<init>(Pattern.java:1351)
at java.util.regex.Pattern.compile(Pattern.java:1028)
at java.util.regex.Pattern.matches(Pattern.java:1133)
at java.lang.String.matches(String.java:2109)
может ли один помочь мне в этом ..
'matches()' требует полного совпадения строк. Вам нужно избегать '{' правильно и добавить '. *' В конце шаблона. –
"" "\" id \ ": \" (\ w +) \. * "" "" Вот так .. –