han*_*noo 6 regex android regex-group
我想用
matcher.group("login");
Run Code Online (Sandbox Code Playgroud)
在eclipse上的android 8+中,但似乎没有Matcher.group(String)存在.你有(内置)解决方案吗?
Android Pattern类实现由ICU提供,准确地说是ICU4C.
Android中使用的正则表达式实现由ICU提供.正则表达式的表示法主要是其他Java语言实现中使用的表示法的超集.这意味着现有应用程序通常会按预期工作,但在极少数情况下,Android可能会接受其他实现不接受的正则表达式.
而且ICU4C目前不支持命名捕获组.你必须依靠编号的捕获组.
ICU不支持命名捕获组.http://bugs.icu-project.org/trac/ticket/5312
如果确实需要该功能,则需要编写包装器并自行解析表达式以提供命名捕获组功能.
我想我应该分享我找到的解决方案。在 Github 上有一个很棒的库,由 Tony Trinh (tony19) 编写,可以使用命名的正则表达式组。
取自项目页面:
“这个轻量级库在 Java 5/6(和 Android)中增加了对命名捕获组的支持。
这是来自 Google Code 的 named-regexp 项目的分支(目前处于非活动状态)。”
https://github.com/tony19/named-regexp
我刚刚在 Android 4.1.1 及更高版本上对此进行了测试,到目前为止,它的运行效果非常好。我惊喜地发现我可以简单地用这个库中的类替换我对 Matcher 和 Pattern 的导入,并且我所有现有的仍然使用编号组的正则表达式仍然有效。
我希望这有帮助。