Regex 正向后向/前向正则表达式VBA

Regex 正向后向/前向正则表达式VBA,regex,vba,Regex,Vba,我知道VBA不支持正向前瞻/后向,所以我需要一些关于以下问题的建议 我只想替换单个字符之间的所有空格,这样一个bc变成ABC,而ABC保持ABC ObjRegex.Pattern = "((?<=\b\w)\s(?=\w\b))" SampleString = ObjRegex.Replace(SampleString, vbNullString) ObjRegex.Pattern=“((?您可以使用 ObjRegex.Pattern = "\b(\w)\s(?=\w)\b" Sampl

我知道VBA不支持正向前瞻/后向,所以我需要一些关于以下问题的建议

我只想替换单个字符之间的所有空格,这样一个bc变成ABC,而ABC保持ABC

ObjRegex.Pattern = "((?<=\b\w)\s(?=\w\b))"
SampleString = ObjRegex.Replace(SampleString, vbNullString)
ObjRegex.Pattern=“((?您可以使用

ObjRegex.Pattern = "\b(\w)\s(?=\w)\b"
SampleString = ObjRegex.Replace(SampleString, "$1" & vbNullString)
可以将lookback转换为捕获组,并使用
$1
占位符将其消耗的值还原(放回)到结果中

图案细节

  • \b
    -单词边界
  • (\w)
    -第1组(用替换模式中的
    $1
    占位符引用):一个单词char
  • \s
    -空白
  • (?=\w)
    -正向前瞻,需要在当前位置的右侧立即添加单词char
  • \b
    -单词边界