2015-10-27 5 views
0

У меня проблема в регулярном выражении. Он дает ошибку, когда выражение задано в строке.Java Regex - регулярное выражение

java.util.regex.PatternSyntaxException: Ошибка синтаксиса в регулярных выражениях шаблона рядом с индексом 1: 10-27 09: 53: 48.297 15052-15052/com.plugapps.freecommerce E/AndroidRuntime: {[/^{}\]]*David[/^{}\]]*}

Что делать Я делаю?

+0

Вы можете сказать нам, что вы пытаетесь сделать? – TheLostMind

+0

- '{[/^{}]] David [/^{}]]}' ваше регулярное выражение? – SomeJavaGuy

+0

@KevinEsche Это выражение: {[^ {} \]] * David [^ {} \]] *} – Viana

ответ

1

Посмотрите на это! Я хочу вернуть объект в массив, который имеет значение моего поиска, например «Давентри».

Я использую: {[^{}\]]*Daventry[^{}\]]*}

[ 
    { 
     "id": 113548, 
     "name": "Daventry", 
     "state_id": 1446, 
     "state_name": "Northamptonshire", 
     "state_code": "J1", 
     "country_id": 232, 
     "country_name": "United Kingdom", 
     "country_code": "GB", 
     "country_flag": "GB.png", 
     "currency_code": "GBP", 
     "currency_symbol": "£" 
    }, 
    { 
     "id": 192392, 
     "name": "Daverdisse", 
     "state_id": 484, 
     "state_name": "Luxembourg", 
     "state_code": "06", 
     "country_id": 22, 
     "country_name": "Belgium\n", 
     "country_code": "BE", 
     "country_flag": "BE.png", 
     "currency_code": "EUR", 
     "currency_symbol": "€" 
    }, 
    { 
     "id": 115981, 
     "name": "Davey", 
     "state_id": 4138, 
     "state_name": "Nebraska", 
     "state_code": "NE", 
     "country_id": 233, 
     "country_name": "United States\n", 
     "country_code": "US", 
     "country_flag": "US.png", 
     "currency_code": "USD", 
     "currency_symbol": "$" 
    }, 
    { 
     "id": 142184, 
     "name": "David", 
     "state_id": 3350, 
     "state_name": "Neamt", 
     "state_code": "28", 
     "country_id": 181, 
     "country_name": "Romania\n", 
     "country_code": "RO", 
     "country_flag": "RO.png", 
     "currency_code": "RON", 
     "currency_symbol": "lei" 
    }, 
    { 
     "id": 108261, 
     "name": "David", 
     "state_id": 4127, 
     "state_name": "Kentucky", 
     "state_code": "KY", 
     "country_id": 233, 
     "country_name": "United States\n", 
     "country_code": "US", 
     "country_flag": "US.png", 
     "currency_code": "USD", 
     "currency_symbol": "$" 
    } 
] 

И только возвращается:

[ 
     { 
      "id": 113548, 
      "name": "Daventry", 
      "state_id": 1446, 
      "state_name": "Northamptonshire", 
      "state_code": "J1", 
      "country_id": 232, 
      "country_name": "United Kingdom", 
      "country_code": "GB", 
      "country_flag": "GB.png", 
      "currency_code": "GBP", 
      "currency_symbol": "£" 
     } 
] 

Однако дает следующее сообщение об ошибке:

java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1: 10-27 09:53:48.297 15052-15052/com.plugapps.freecommerce E/AndroidRuntime: {[/^{}]]Daventry[/^{}]]}

0

Ваш синтаксис не совсем прав, вам все равно нужно избежать «/». Если вы измените его на {[\/^{}\]]*David[\/^{}\]]*}, то это действительное регулярное выражение, и оно должно работать.