Board logo

标题: [问题求助] vbs正则 正则表达式内使用字串 [打印本页]

作者: jyswjjgdwtdtj    时间: 2023-5-2 22:38     标题: vbs正则 正则表达式内使用字串

在js里 可以用\1\2\3\4……来匹配到之前括号里的内容
比如
  1. /(.)\1(.)\2/
复制代码
能匹配到xxyy 1122 gg11
vbs有没有此功能?
作者: czjt1234    时间: 2023-5-3 06:26

  1. Dim oRegExp, s
  2. s = "domen.tw"
  3. Set oRegExp = New RegExp
  4. oRegExp.Global = True
  5. oRegExp.MultiLine = True
  6. oRegExp.IgnoreCase = False
  7. oRegExp.Pattern = "(d)(o)(m)(e)(n.tw)"
  8. MsgBox oRegExp.Replace(s, "Demon.tw")    'Demon.tw
  9. MsgBox oRegExp.Replace(s, "D$4$3$2$5")   'Demon.tw
复制代码

作者: czjt1234    时间: 2023-5-3 06:30

哦,搞错了,不是一回事
作者: czjt1234    时间: 2023-5-3 06:33

  1. s = "domen.twxxyy"
  2. Set oRegExp = New RegExp
  3. oRegExp.Global = True
  4. oRegExp.MultiLine = True
  5. oRegExp.IgnoreCase = False
  6. oRegExp.Pattern = "(.)\1(.)\2"
  7. For Each oMatch In oRegExp.Execute(s)
  8.     MsgBox oMatch
  9. Next
复制代码

作者: jyswjjgdwtdtj    时间: 2023-5-3 09:56

回复 4# czjt1234


    demon打错了
作者: bangyou    时间: 2023-5-16 20:58

本帖最后由 bangyou 于 2023-5-16 21:00 编辑

请问下,vbs里怎么转义啊
作者: bangyou    时间: 2023-5-16 20:59

回复 2# czjt1234


请教下大神,vbs,要匹配的字符中有中括号,要用什么转义啊,如下,
clarityrl":[{"keyu97974646s46a46f4a654e"}],"status
patrn = "clarityrl"".*?),""status"
这样出来的是[{"keyu97974646s46a46f4a654e"}],,,

请问下,怎么出来,{"keyu97974646s46a46f4a654e"}
作者: bangyou    时间: 2023-5-16 22:07

:victory:
百度搜不出来,我在站内爬楼找到了,原来vbs里是用[]转义的
http://www.bathome.net/viewthrea ... =vbs%2B%D5%FD%D4%F2
作者: jyswjjgdwtdtj    时间: 2023-5-17 20:46

回复 7# bangyou


    中括号不用转义
作者: jyswjjgdwtdtj    时间: 2023-5-17 20:47

回复 7# bangyou


    你直接re.pattern="{.*?}"就ok了




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2