从字符串中提取括号之间的文本

Extract text between parentheses from string

我想使用正则表达式在 VBScript 中拆分字符串。

主要目标是return括号内的内容,例如:

strtoSplit = "Hello everyone! (27082015) What is your name? (123456789)"

结果:27082015 123456789

我正在使用这行代码,但它不起作用:

strThatIWant = Split(strToSplit, "[\xA0]*\(([^)]+) \ )"

你能帮我解决其他问题吗?或者你能告诉我我做错了什么吗?

Split() 将字符串切割成由字符串(不是正则表达式)分隔的部分数组。您正在寻找输入字符串中(由)数字序列组成的部分。所以你需要一个指定数字序列的正则表达式:\d+.

>> strtoSplit = "Hello everyone! (27082015) What is your name? (123456789)"
>> Set r = New RegExp
>> r.Global = True
>> r.Pattern = "\d+"
>> For Each m In r.Execute(strtoSplit)
>>     WScript.Echo m.Value
>> Next
>>
27082015
123456789

附议:

我一开始就应该知道你对'between the parentheses'部分感兴趣。所以模式需要改变,我们必须访问一个组:

>> Set r = New RegExp
>> r.Global = True
>> r.Pattern = "\(([^)]+)\)"
>> For Each m In r.Execute(strtoSplit)
>>     WScript.Echo m.SubMatches(0)
>> Next
>>
27082015
123456789