首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >android的正则实现 不支持在逆序环视中的无限匹配

android的正则实现 不支持在逆序环视中的无限匹配

原创
作者头像
用户7108768
修改2021-09-24 14:26:21
修改2021-09-24 14:26:21
6680
举报

android的正则实现 不支持在逆序环视中的无限匹配,即使用*或+,可以使用区间量词{n,m},其中m的的最大值不能为Integer.MAX_VALUE,区间的最大值在本例中可为10,11就不行了:(?<!\\d{1,10})e 

错误堆栈: 

Uncaught handler: thread main exiting due to uncaught exception 

java.lang.RuntimeException: Unable to start activity ComponentInfo{freish.activity/fr... 

(?<!\d+)e 

         ^ 

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496) 

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 

at android.app.ActivityThread.access2200(ActivityThread.java:119)atandroid.app.ActivityThread.access2200(ActivityThread.java:119)atandroid.app.ActivityThread.access2200(ActivityThread.java:119) 

at android.app.ActivityThreadH.handleMessage(ActivityThread.java:1863)atandroid.app.ActivityThreadH.handleMessage(ActivityThread.java:1863)atandroid.app.ActivityThreadH.handleMessage(ActivityThread.java:1863) 

at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Handler.dispatchMessage(Handler.java:99) 

at android.os.Looper.loop(Looper.java:123) at android.os.Looper.loop(Looper.java:123) 

at android.app.ActivityThread.main(ActivityThread.java:4363) at android.app.ActivityThread.main(ActivityThread.java:4363) 

at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invokeNative(Native Method) 

at java.lang.reflect.Method.invoke(Method.java:521) at java.lang.reflect.Method.invoke(Method.java:521) 

at com.android.internal.os.ZygoteInitMethodAndArgsCaller.run(ZygoteInit.java:860)atcom.android.internal.os.ZygoteInitMethodAndArgsCaller.run(ZygoteInit.java:860)atcom.android.internal.os.ZygoteInitMethodAndArgsCaller.run(ZygoteInit.java:860) 

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

at dalvik.system.NativeStart.main(Native Method) at dalvik.system.NativeStart.main(Native Method) 

Caused by: java.util.regex.PatternSyntaxException: Syntax error U_REGEX_LOOK_BEHIND_L... 

(?<!\d+)e 

         ^ 

at com.ibm.icu4jni.regex.NativeRegEx.open(Native Method) at com.ibm.icu4jni.regex.NativeRegEx.open(Native Method) 

at java.util.regex.Pattern.compileImpl(Pattern.java:264) at java.util.regex.Pattern.compileImpl(Pattern.java:264) 

at java.util.regex.Pattern.<init>(Pattern.java:239) at java.util.regex.Pattern.<init>(Pattern.java:239) 

at java.util.regex.Pattern.compile(Pattern.java:179) at java.util.regex.Pattern.compile(Pattern.java:179) 

at freish.activity.RegexActivity.onCreate(RegexActivity.java:28) at freish.activity.RegexActivity.onCreate(RegexActivity.java:28)

at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459) 

... 11 more ... 11 more 

无论是java还是android,顺序环视都可以支持无限匹配

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档