gpt4 book ai didi

Android 可选词边界正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:05:51 26 4
gpt4 key购买 nike

我在针对 Android 平台 2.2.3 时遇到正则表达式问题。

以下正则表达式适用于我桌面上的 Java VM,并且正则表达式也适用于 .NET 应用程序。

Pattern.compile("\\b?")

但是当我瞄准我的手机时,我得到一个 PatternSyntaxException。有什么想法吗?

最佳答案

我可以确认这在 Android 模拟器中运行时会抛出 PatternSyntaxException,但在常规 Java 应用程序中不会。除了 Android 中使用的正则表达式实现与普通 Java SDK 中的不同之外,我不明白为什么会这样。来自Pattern Android 开发者页面:

The regular expression implementation used in Android is provided by ICU. The notation for the regular expressions is mostly a superset of those used in other Java language implementations. This means that existing applications will normally work as expected, but in rare cases Android may accept a regular expression that is not accepted by other implementations.

作为变通方法,我确实发现您可以通过将单词边界断言包含在非捕获组中来绕过异常。

Pattern.compile("(?:\\b)?");

(捕获组也可以,但我怀疑您是否需要它。)

我建议你report this as a bug看看能不能得到官方回复。 (我已经搜索过了,好像还没有报道。)

关于Android 可选词边界正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12717518/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com