gpt4 book ai didi

java - 正则表达式中单词 "wariant"之前没有字母

转载 作者:行者123 更新时间:2023-12-01 17:13:58 24 4
gpt4 key购买 nike

我想定义正则表达式来检测单词 wariant正文里面。问题是我不想在单词 wariant 之前或之后没有字母.

我已经这样做了:

Pattern wariantPattern = Pattern.compile("[\\w]{0}wariant[\\w]{0}");

但不幸的是: subwariant也匹配它。

最佳答案

可以使用 anchor 字\b :

Pattern wariantPattern = Pattern.compile("\\bwariant\\b");

像所有 anchor 一样,它将匹配输入文本中的一个位置(即,它不会消耗文本),其中一个为真:
  • 前一个字符不是单词字符,下一个字符是;或
  • 前一个字符是单词字符,下一个字符不是;或
  • 这是输入文本的开头,第一个字符是单词字符;或
  • 这是输入文本的结尾,最后一个字符是单词字符。

  • 一些正则表达式引擎具有更专业的 anchor ( \< 用于条件 1 和 3, \> 用于条件 2 和 4),但 Java 没有。

    关于java - 正则表达式中单词 "wariant"之前没有字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22879928/

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