UWSCで正規表現(VBScript.RegExp)
UWSCで正規表現を利用したいなーということで、公式ヘルプを見てみます。
VBScript.RegExpオブジェクトを利用してください。
uwsc.info
regex = CREATEOLEOBJ("VBScript.RegExp")
regex.Pattern = "[^a-zA-Z0-9]"
( ゚д゚)・・?
VBScriptに触ったことがなかったため、ぽかーんとしてしまったので軽く調べてみました。以下、テスト内容。
str = "YEAAAH!!! HAAAAAAAAAAAA!" //対象文字列 re=CreateOleObj("VBScript.RegExp") re.pattern = "a{2,}" //正規表現のパターン re.Global = True //文字列全体を検索。trueでする(規定)、falseでしない(マッチする文字列が見つかったらそこで終了)。 re.IgnoreCase = True //大文字・小文字を区別。trueでしない(規定)、falseでする。 print str + " が対象の文字列です。" + "パターンは " + re.pattern + " です。" + "<#CR>" //////////////////////////////////////// //置換 //////////////////////////////////////// rep = re.Replace(str,"A") print "置換結果:" + rep + "<#CR>" //////////////////////////////////////// //マッチング //////////////////////////////////////// match = re.Execute(str) print match.Count + " 個がマッチしました。<#CR>---------" for i = 0 To match.Count-1 print match.Item(i).Value + " が" + i + "件目にマッチしました。" print i + "件目は" + match.Item(i).FirstIndex + "文字目です。" print i + "件目の文字の長さは" + match.Item(i).Length + " です。<#CR>---------" next
そしてprint結果。
YEAAAH!!! HAAAAAAAAAAAA! が対象の文字列です。パターンは a{2,} です。
置換結果:YEAH!!! HA!
2 個がマッチしました。
- -
AAA が0件目にマッチしました。
0件目は2文字目です。
0件目の文字の長さは3 です。
- -
AAAAAAAAAAAA が1件目にマッチしました。
1件目は11文字目です。
1件目の文字の長さは12 です。
- -