Regex VBA正则表达式对单个字符的限制
我有一个字符串,当有一个插入的括号而不是两个时,我想在VBA正则表达式上匹配它 例如,“沙漠(蛋糕,派)”应该匹配,但“沙漠(南瓜,糖果(蛋糕,派))”不应该匹配 但是,此模式匹配上述两个搜索字符串:Regex VBA正则表达式对单个字符的限制,regex,vba,Regex,Vba,我有一个字符串,当有一个插入的括号而不是两个时,我想在VBA正则表达式上匹配它 例如,“沙漠(蛋糕,派)”应该匹配,但“沙漠(南瓜,糖果(蛋糕,派))”不应该匹配 但是,此模式匹配上述两个搜索字符串: regex.Pattern = LCase("desert") & ".*\(.*" & searchString 有没有办法告诉它我只有一场比赛,如果有两场,那就没用了?我认为问题在于。*正在吞食第二个 如果我正确理解了您的示例,那么您可以使用一个简单的方法来实现这一点
regex.Pattern = LCase("desert") & ".*\(.*" & searchString
有没有办法告诉它我只有一场比赛,如果有两场,那就没用了?我认为问题在于。*正在吞食第二个 如果我正确理解了您的示例,那么您可以使用一个简单的方法来实现这一点
[^()]*\([^()]*\)
=>
…将查找开头部分,后跟任意数量的非开头部分字符,后跟结尾部分字符。因为模式在中间寻找非PAREN字符,所以您的要求应该得到满足。 < P>是的,您只需要告诉它到<强> > < <强> >第一个匹配后的括号:
regex.Pattern = LCase("desert") & ".*\([^\(]*" & searchString
regex.Pattern = LCase("desert") & ".*\([^\(]*" & searchString