regex - 如何将字符串中的确切单词与正则表达式匹配?

标签 regex vba

我一直在努力寻找听起来很简单的问题的解决方案。

我需要在文本字符串中找到一个单词“HYD”(大写字母)。我需要匹配才能准确。澄清一下,任何包含“HYD”但不等于的单词/文本都应该不是 匹配。空格和符号除外。

在以下示例中查找:
文本 1 HYD 文本 2
文本1,HYD.文本2

在下面的例子中忽略:
文本 1 水文文本 2
文本 1 MYHYD 文本 2

我能得到的最接近的是以下模式:

objRegEx.Pattern = "[^a-z]HYD[^a-z]"



问题在于,如果字符串以“HYD”开头或结尾,它将找不到“HYD”。

最佳答案

来自评论:

使用 \b解决方案的字边界标志:

objRegEx.Pattern = "\bHYD\b"

只会命中整个值为 HYD 的字符串,而不是其中嵌入了其他一些字符的 HYD 的字符串。

关于regex - 如何将字符串中的确切单词与正则表达式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31827527/

相关文章:

regex - 匹配分隔列表中的最后一个元素?

javascript - jQuery 中仅允许所有语言的字母数字

excel - 如何在 VBA Excel 中创建日历输入?

excel - 重置Excel "Find and Replace"对话框参数

regex - 从字符串中删除非数字和非字母字符?

javascript - 未捕获的语法错误 : Invalid regular expression flags

regex - 为什么这些按位正则表达式在 golang 中匹配不同?

excel - 运行时错误 '1004' 对象 'Rows' 的方法 '_Global' 失败

ms-access - 将文本/输入框渲染添加到 Access 以获得引导式用户界面体验

excel - 使工作表中的 ActiveX 控件适合单元格大小