我有这种文字1323-DI-004 (2013-07-16).pdf
,我希望将日期放在括号中。我尝试使用正则表达式(\(.*)\)
。它给出了(2013-07-16)
。我希望得到相同的结果,但没有括号。
这是针对VBA代码的。
是否有可能以及如何做到这一点?
答案 0 :(得分:1)
编辑:您正在使用VBA,所以
Dim myMatches As MatchCollection
Set myRegExp = New RegExp
myRegExp.Pattern = "\((.*)\)"
Set myMatches = myRegExp.Execute(subjectString)
MsgBox(myMatches(1).Value) 'I think this be your reference? You may need to iterate myMatches to get the right one
假设这是一个完全符合PCRE的匹配平台(PHP,PERL等 - 不是 javascript),请使用lookarounds来实现此目的,匹配()
on任何一方都没有将它们包括在捕获中:
(?<=\()(.*)(?=\))
查看实际操作:http://regex101.com/r/oI3gD6
如果您使用的是javascript,这将无效,但您可以使用\((.*)\)
并检索第一个捕获组,这将是()
内的内容。