【问题标题】:Android matcher RegexAndroid 匹配器正则表达式
【发布时间】:2016-07-27 16:13:45
【问题描述】:

一些看起来很简单的东西,在其他任何地方都可以使用,但在 Android 中却不行。如果字符串不是 A+,我希望匹配器返回 TRUE。负后视在 Android 6.0 中无效吗?这是我的正则表达式不起作用:

^((?!A\+).*)$

如果我通过 A、A- 或 A+,它将返回 FALSE。它应该只为 A+ 返回 FALSE。

【问题讨论】:

  • s != 'A+' 对于单例 true 来说,正则表达式并不是一个很好的用途。还向我们展示代码,剪切 n 粘贴代码以进行尝试要容易得多。
  • 为什么不使用!String#startsWith("A+") 方法?它也会这样做。

标签: android regex matcher


【解决方案1】:

加号未转义:尝试以下操作:

^((?!A\\+).*)$

【讨论】:

  • 我有一个单斜线,但没有双斜线。
  • 是的 - 单斜杠保留用于 Java 转义。所以你需要一个双精度的正则表达式转义。
猜你喜欢
  • 2012-08-20
  • 2011-01-24
  • 2013-09-22
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 2022-07-08
相关资源
最近更新 更多