当前位置: 首页 > 知识库问答 >
问题:

子字符串的正则表达式单词边界匹配,即使它不应该匹配

巢安澜
2023-03-14

我有这个字符串asdas d HC-HMC后端saas和这些regexp:

\bHC\b

\bHC-HMC BACK SIDE\b

我希望第一个正则表达式失败,而第二个应该匹配。尝试一下,我看到两者都匹配,但我不明白为什么。

这是第一个正则表达式:https://regex101.com/r/hBZK2h/1

这是第二个:https://regex101.com/r/TEZmP6/1

我必须创建一个正则表达式,该表达式与边界为HC-HMC的字符串背面完全匹配,但不能与字符串匹配。有什么提示吗?

共有1个答案

郭知
2023-03-14

如果模式位于字符串的开头,或者前面有一个非单词字符(不是字母、数字和(可能还有其他字符,具体取决于regex-Unicode支持),并且位于字符串的末尾或紧跟着一个非单词字符,则模式匹配。请参见单词边界定义。

您可以在第一个正则表达式中添加一个前瞻,以使其失败,如果HC后面跟有以下代码:

\bHC\b(?!-)

查看regex演示

 类似资料:
  • 问题内容: 我在用Python将字符串中的数字匹配时遇到麻烦。尽管应该明确匹配,但甚至不匹配 或仅匹配。我的监督在哪里? 问题答案: 阅读文档:http : //docs.python.org/2/library/re.html#re.match 如果在零个或多个字符 开头 的 字符串 您要使用(或)

  • 问题内容: 我在尝试将我的javascript regex经验转移到Python时遇到了麻烦。 我只是想让它工作: …但是它打印无。如果我做: 它匹配…默认情况下是否匹配字符串的开头?当匹配时,如何使用结果? 我如何进行第一场比赛?是否有比python网站提供的文档更好的文档? 问题答案: 隐式添加到您的正则表达式的开头。换句话说,它仅在字符串的开头匹配。 将在所有位置重试。 一般来说,建议您在需

  • 我有一些xml文件,希望删除除特定字符串以外的所有内容。 StackOverflow上还有很多类似的问题,但都不适用于我的文件,在尝试了几个小时不同的正则表达式后,我想寻求帮助。 到目前为止,部分成功但并非完全成功的最接近的正则表达式是: xml文件的示例: 我使用regex101,因此可以将示例粘贴在那里,以了解为什么rex只能部分工作。简而言之,它与第一次出现的不匹配,但与第二次出现的匹配。我

  • 问题内容: 我会在开头提到这个问题,尽管我离正则表达式专家很远,但是它们对我来说并不完全陌生。对于我来说,构建正则表达式来搜索特定字符串中的模式通常不是问题,但是我有一个(也许是?)独特的情况。 我有一组价值观,例如: 028938 DEF567987 390987.456 GHI345928.039 我想匹配一组特定的字符串,例如: 完全由6位数字组成的字符串 字符串,由正好6位数字,十进制组成

  • 我正在arround制作一个与字符串的某个块匹配的正则表达式,问题是它包含许多相似的块,并且没有清楚地分开,所以我不知道如何停止正则表达式。 字符串的例子 所以我要做的是匹配并只选择第一个A1。到目前为止,我所做的是:

  • 本文向大家介绍String字符串匹配javascript 正则表达式,包括了String字符串匹配javascript 正则表达式的使用技巧和注意事项,需要的朋友参考一下 在JavaScript代码中使用正则表达式进行模式匹配经常会用到String对象和RegExp对象的一些方法,例如replace、match、search等方法,下面所述是对相关方法使用的总结,需要的朋友参考下。 String对