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

时间:2015-04-27 17:24:15

标签: regex vbscript

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

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

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

结果:27082015 123456789

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

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

你能帮我解决其他问题,还是能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:3)

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

关于借调的想法:

我应该从一开始就明白你对括号之间的部分感兴趣'。所以模式需要改变,我们必须访问一个组:

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