XRegex
正規表現による文字列処理の AppleScript ライブラリです。正規表現にパターンマッチング、マッチした文字列の抽出、置換が行えます。内部で NSRegularExpression を使用しています。
簡単には、クラスメソッドの search, serarch_all, replace_matches を使うと良いでしょう。
seach は最初にマッチした MatchResult を返します。MatchResult は、正規表現にマッチしたテキストと場所に関する情報を保持したオブジェクトです。MatchResult の capture でマッチしたテキスト、range でマッチした位置及び範囲を得ることができます。
NSString と AppleScript テキストでは、文字列の長さの勘定が一致しないことがあります。range で取得した場所及び長さから部分文字列を取得する際は、MatchResult オブジェクトの substring, substring_from を使ってください。
search_all は、検索対象としたテキストの全てを走査してマッチした全ての MatchResult をリストで返します。
replace_machtes は、マッチしたテキストを置き換えます。置換文字で正規表現中のグループの後方参照が使えますので、高度で複雑な置換処理を行えます。
同じ正規表現を繰り返し使う場合は、make_with で XRegex インスタンスを生成すると良いでしょう。インスタンスを生成することによって、なんども正規表現をコンパイルするオーバーヘッドを避けることができます。インスタンスに対しては、first_match, matches_in, replace を使って、上記の同じことができます。
更新履歴
- 1.0.1 -- 2021-04-09
- split を追加
- 1.0 -- 2020-06-26
- 初公開