【问题标题】:How to match exact sequence with Pattern compile如何使用 Pattern compile 匹配精确序列
【发布时间】:2014-04-03 22:44:15
【问题描述】:

我正在尝试使用 Linkify,但似乎无法关闭 Pattern.compile() 部分。

假设我有一个类似blah blah hi Hello world! can you match me?的字符串

我只想匹配和链接Hello world!,仅此而已。我试图玩弄这个正则表达式:Pattern pattern = Pattern.compile("\\bHello world!\\b");,但它似乎与感叹号不匹配。

匹配精确字符序列的最佳方法是什么?

【问题讨论】:

  • 看看Pattern.quote()做了什么。
  • @DavidWallace 你应该把它写成答案,这样我就可以投票了。我需要完成Pattern pattern = Pattern.compile(Pattern.quote("Hello world!"));
  • 不过,我不相信这是您的问题所在。 ! 在正则表达式中不应该是特殊的。很可能你有一个不同的错误,你现在在不知不觉中删除了。
  • @DavidWallace 可以随意尝试使用 ! 和不使用 ! 的模式。这似乎是我唯一的问题
  • \b! 之后的边界不匹配,因为! 不是\w 字符类的一部分,因此不会形成单词边界。

标签: java android regex linkify


【解决方案1】:

使用正则表达式,您可以在开头使用^,在结尾使用$

Pattern pattern = Pattern.compile("^Hello world!$");

这个问题也是this的重复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 2015-10-03
    相关资源
    最近更新 更多