トップへ戻る

Autoitプログラミング

StringRegExp - 正規表現

複雑な文字列から指定したパターンの文字列を検索します。
StringRegExp("test", "pattern" [, flag ] [, offset ] ])

 

AutoItの正規表現は、大文字小文字を区別していますが、
パターンの先頭に(?i)を付けることで大文字小文字の区別をしないようにすることができます。

 

例1.文字列から電話番号を検索

 

私の電話番号は 090-1234-5678 です。
郵便番号は123-4567です。
兄の電話番号は080-9876-5432です。

 

上記の三行の文字列から正規表現を使って電話番号のみを検索してみます。

 

 

#include <Array.au3>

 

Local $String = '私の電話番号は 090-1234-5678 です。' & _
        '郵便番号は123-4567です。' & _
        '兄の電話番号は080-9876-5432です。'

 

$String = StringRegExp($String, '0\d\d-\d\d\d\d-\d\d\d\d', 3)
If Not @error Then _ArrayDisplay($String, "電話番号")

 

;~ 指定したパターン
;~ '0\d\d-\d\d\d\d-\d\d\d\d'

 

;~ ここで指定したパターンは次のように書くこともできます。
;~ ’0\d{2}-\d{4}-\d{4}’

 

;~ 説明
;~ \d = 任意数字(0-9)に一致。
;~ {}(波括弧)で囲まれている数字は{}の前のパターンの繰り返し回数です。
;~ \d{4} = 4回連続している0-9の数字を表しています。