2015-09-11 42 views
0

这个必须是简单的问题,但我似乎无法找到答案。我有以下reg表达式:vba正则表达式 - 第二个字符串匹配可选

objRegEx.Pattern = "reminder[s]?\s{0,3}?to?\s{0,3}?" 

我想匹配“提醒”与可能的单词“to”。我无法使其工作,以便它匹配“提醒”和“提醒”。我是否在使用语句“to?”以错误的方式?我希望实现的:


“提醒顾客” - 返回“提醒”
“提醒顾客” - 返回“提醒”

谢谢

编辑:基于下面的答案,调整到合适的解决方案:

(reminder[s]?(?:\s+to)?)(\s+)? 

回答

1

如何:

(reminder(?:s?\s+to)?) 

https://regex101.com/r/tP7vP9/4

它将匹配reminderreminder toreminders to

+1

非常感谢。让我嫉妒一些人可以在5分钟内回答我已经测试了一小时的内容:)。如果没有太多问题,可以在支架启动后告诉我部件的逻辑:“?:s” – Trm

+1

没问题。只需要练习。 ?:表示非捕获组。所以匹配它,但不捕获。 – lintmouse