Note that there are some explanatory texts on larger screens.

plurals
  1. POForce Close on Regular Expression !match
    text
    copied!<p>I am having a problem with the following bit of code. I am trying to match a string. When I have a match everything works perfectly. When it does not find a match it throws an exception and causes a force close.</p> <hr> <p>Code Snippet</p> <pre><code>private void validatePhoneNumberFormat(String t){ Pattern p = Pattern.compile("^Match this exactly!$"); Matcher m = p.matcher(t); m.find(); if (m.group(0) != ""){ this.myString = m.group(0); this.setIsValid(true); this.setStatus(0); } else { this.myString = "Invalid Input String"; this.setIsValid(false); this.setStatus(99); // String parsing error } } </code></pre> <hr> <p>LogCat</p> <pre><code>02-17 14:12:10.562: WARN/dalvikvm(3854): threadid=1: thread exiting with uncaught exception (group=0x40015560) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): FATAL EXCEPTION: main 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): java.lang.IllegalStateException: No successful match so far 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at java.util.regex.Matcher.ensureMatch(Matcher.java:607) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at java.util.regex.Matcher.group(Matcher.java:358) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at com.android.example.RegExTest.MyList.validateMyStringFormat(MyList.java:47) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at com.android.example.RegExTest.MyList.&lt;init&gt;(MyList.java:15) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at com.android.example.RegExTest.DataManagerActivity.readInputFile(DataManagerActivity.java:128) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at com.android.example.RegExTest.DataManagerActivity$2.onClick(DataManagerActivity.java:77) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at android.view.View.performClick(View.java:2485) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at android.view.View$PerformClick.run(View.java:9080) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at android.os.Handler.handleCallback(Handler.java:587) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at android.os.Handler.dispatchMessage(Handler.java:92) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at android.os.Looper.loop(Looper.java:123) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at android.app.ActivityThread.main(ActivityThread.java:3647) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at java.lang.reflect.Method.invokeNative(Native Method) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at java.lang.reflect.Method.invoke(Method.java:507) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 02-17 14:12:11.322: ERROR/AndroidRuntime(3854): at dalvik.system.NativeStart.main(Native Method) 02-17 14:12:11.402: WARN/ActivityManager(62): Force finishing activity com.android.example.RegExTest/.DataManagerActivity </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload