インストールレスプログラミング( ´ー`)

VBA , JavaScript , HTAなど 365アプリはインストール必要ですが、仕事に無いケースはほぼないから(・_・;)

正規表現 試し中です。

正規表現・・ まだまだですが,かけらほどはわかるようになってきました。

これは確かにすごい。

徐々に学んでいますが,これが使いこなせたらほんと,文字列扱うの楽にコンパクトになるだろうなぁ。

WordでもExcelでもPowerpointでも試せます。VBScriptでももちろんいいのではないでしょうか。そのへん無知です。ただ参照設定でインテリセンス使えるOfficeアプリのほうがいいと思われます。

参照設定は Microsoft VBScript Regular Expressions 5.5 にしましょう。

最初はさっぱりわかりませんので,参照設定は大きな味方。

Sub test2()
    Dim Regex As VBScript_RegExp_55.RegExp
    Set Regex = New VBScript_RegExp_55.RegExp
    
    Dim ret As VBScript_RegExp_55.MatchCollection
    Dim strPattern As String
    Dim RegMatches As Variant
    Dim strChem As String
    strChem = "NaOH + HCl → NaCl + H2O"
    strPattern = "(.*)→(.*)"
    With Regex
        .Pattern = strPattern
        .IgnoreCase = False
        .Global = True
        Set RegMatches = .Execute(strChem)
        Stop
    End With
    
End Sub

これを実行してローカルウィンドウを見ると,
f:id:chemiphys:20170307223749p:plain
SubMatchesの中に矢印の両側が取れています。
正規表現は 
  strPattern = "(.*)→(.*)"
ここだけです。すごいですよね。


strPattern = "([a-zA-Z0-9]+)"

これだと

f:id:chemiphys:20170307231116p:plain

それぞれの化学式を捕捉しています。

これ正規表現以外で書くと大変ですよね・・

でも,まだまだ知識になってないので,じゃあ矢印の左右をそれぞれ別にしたいとなると,

しばーらく悪戦苦闘しているんですが,さっぱりです(;´▽`A``

敵は強い。でも,仲間にしたら強い味方のようですね(;´▽`A``

ムズカシイナァ