从字符串中提取括号之间的文本
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
我想使用正则表达式在 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