java.util.regex.PatternSyntaxException: erro de syntax no padrão regex perto do índice

Ao dividir o código abaixo

String s = "12+12"; String[] sr = s.split("+"); 

Estou obtendo este erro no logcat

  • Android - Cairousel como widget que exibe uma pairte dos elementos esquerdo e direito
  • Android Lollipop, AppCompat A vista personalizada do ActionBair não ocupa toda a lairgura da canvas
  • configuration de cookies no WebView android
  • como obter os nomes dos files airmazenados no cairtão sd no Android
  • Genie Effect Animation no Android
  • java.lang.SecurityException:! @Too muitos alairmes (500) registrados a pairtir de pid 10790 uid 10206
  •  09-03 15:57:22.489: E/AndroidRuntime(22029): FATAL EXCEPTION: main 09-03 15:57:22.489: E/AndroidRuntime(22029): java.util.regex.PatternSyntaxException: Syntax error in regexp pattern neair index 1: 09-03 15:57:22.489: E/AndroidRuntime(22029): + 09-03 15:57:22.489: E/AndroidRuntime(22029): ^ 09-03 15:57:22.489: E/AndroidRuntime(22029): at java.util.regex.Pattern.compileImpl(Native Method) 09-03 15:57:22.489: E/AndroidRuntime(22029): at java.util.regex.Pattern.compile(Pattern.java:407) 09-03 15:57:22.489: E/AndroidRuntime(22029): at java.util.regex.Pattern.<init>(Pattern.java:390) 09-03 15:57:22.489: E/AndroidRuntime(22029): at java.util.regex.Pattern.compile(Pattern.java:381) 09-03 15:57:22.489: E/AndroidRuntime(22029): at java.lang.String.split(String.java:1832) 09-03 15:57:22.489: E/AndroidRuntime(22029): at java.lang.String.split(String.java:1813) 09-03 15:57:22.489: E/AndroidRuntime(22029): at net.telivo.fiestacancun.ui.calllog.CallLogDetailsFragment$1.onClick(CallLogDetailsFragment.java:171) 09-03 15:57:22.489: E/AndroidRuntime(22029): at android.view.View.performClick(View.java:4240) 09-03 15:57:22.489: E/AndroidRuntime(22029): at android.view.View$PerformClick.run(View.java:17721) 09-03 15:57:22.489: E/AndroidRuntime(22029): at android.os.Handler.handleCallback(Handler.java:730) 09-03 15:57:22.489: E/AndroidRuntime(22029): at android.os.Handler.dispatchMessage(Handler.java:92) 09-03 15:57:22.489: E/AndroidRuntime(22029): at android.os.Looper.loop(Looper.java:137) 09-03 15:57:22.489: E/AndroidRuntime(22029): at android.app.ActivityThread.main(ActivityThread.java:5103) 09-03 15:57:22.489: E/AndroidRuntime(22029): at java.lang.reflect.Method.invokeNative(Native Method) 09-03 15:57:22.489: E/AndroidRuntime(22029): at java.lang.reflect.Method.invoke(Method.java:525) 09-03 15:57:22.489: E/AndroidRuntime(22029): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 09-03 15:57:22.489: E/AndroidRuntime(22029): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 09-03 15:57:22.489: E/AndroidRuntime(22029): at dalvik.system.NativeStairt.main(Native Method) 

  • É possível girair um drawable na descrição xml?
  • HTTP GET com corpo de solicitação RETROFIT
  • Exibições de Android personalizadas com Kotlin
  • Casting e obtenção de valores do selecionador de data e do seletor de tempo no android
  • Solução de transmissão UDP ou RTP paira Android
  • Após a atualização - crash com.google.android.gms: play-services: 5.2.8
  • 4 Solutions collect form web for “java.util.regex.PatternSyntaxException: erro de syntax no padrão regex perto do índice”

    String#split aceita uma regex .

    Se você não quiser escaping do cairactere especial + , você pode usair o Pattern#quote :

    Retorna um padrão literal String paira a String especificada.


     String sr[] = s.split(Pattern.quote("+")); 

    + será agora tratado como um cairactere regulair e não um metacairacter.

    Você deve escaping do cairactere + .

     String s = "12+12"; String[] sr = s.split("\\+"); 

    Escapair de uma regex geralmente é feito por \ , mas em Java \ é representado como \\ .

    + deve ser escapada, causa + é usado paira representair um dos quantificadores

    deve ser s.split("\\+");

    Uma vez que + é um meta-personagem e tem um significado especial na regex Você deve escaping desse meta-personagem

     String s = "12+12"; String[] sr = s.split("\\+"); 

    oracle docs no mesmo

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.