请问vbs的正则表达式怎么表达出这个例子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问vbs的正则表达式怎么表达出这个例子相关的知识,希望对你有一定的参考价值。
请问vbs的正则表达式怎么表达出这个例子:
8个字母,其中前4个和后4个依次对应相同,比如abcdabcd,efghefgh,...
Dim regEx ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
regEx.Global = True ' 设置全局可用性。
RegExpfind = regEx.Test(strng) ' 执行搜索测试。
End Function
wscript.echo RegExpfind("^([a-z]4)\1$","abcdabcd")
wscript.echo RegExpfind("^([a-z]4)\1$","abcdabcdx")
要是回答的内容有问题,或认为不妥,请发送百度消息给我,消息内容加上本页网址哦。。
· 参考技术A 看不懂 清楚点
vbs 正则表达式:仅匹配前 2 个下划线之间的文本
【中文标题】vbs 正则表达式:仅匹配前 2 个下划线之间的文本【英文标题】:vbs regex: match the text between ONLY the FIRST 2 underscores 【发布时间】:2011-05-25 17:40:44 【问题描述】:如果文件名被调用,我正在使用 VBS 进行文件名抓取
hello_world_2012_is_not the end of the world.pdf
那么正则表达式应该匹配单词“world”并且没有别的。
我试过这个:
[_][^_]+(?=_)
但它会获取两个下划线之间的所有内容。如何只选择第一个匹配项?
【问题讨论】:
你想知道文件名中是否包含“世界”这个词吗? 对不起...看到标题的答案 好点。不,我想提取它,所以它可以是任何东西……恐怕不像寻找“世界”那么容易。 【参考方案1】:我建议使用以下正则表达式:
/^[^_]*_([^_]*)_/
解释:
^ # Anchor the search to the start of the string
[^_]* # Match any number of non-underscores, don't capture them
_ # Match the first underscore
([^_]*) # Match any number of non-underscores, do capture them
_ # Match the second underscore.
那么第一个捕获组 ($1
) 将包含 world
,并且正则表达式不会匹配字符串中的任何其他位置。
【讨论】:
太棒了!无需使用字符串操作符来提取下划线。非常感谢【参考方案2】:正则表达式本身应该如下所示:
_([^_]*)_
字符串被捕获到组 1。
或者,使用字符串函数来定位前 2 个下划线,然后提取它们之间的内容。
【讨论】:
以上是关于请问vbs的正则表达式怎么表达出这个例子的主要内容,如果未能解决你的问题,请参考以下文章
js正则表达式:6-20位,可以为数字或者英文,最少一个英文。请问正则表达式怎么写