正規表現を使うアクティビティの使い方と、使える正規表現についてまとめてみます。
対象のアクティビティは以下となります。
①Is Match(文字列の一致をチェック)
②Matches(一致する文字列を取得)
③Replace(置換)
まずはIs Matchについて見ていきます。
このアクティビティは対象の文字列の中に指定した内容が含まれるかどうかの結果をBoolean型で返してくれるものとなります。
簡単な例として、”あいうえお”の中に”い”が含まれているかのチェックをしてみます。
Input:”あいうえお”
Pattern:”い”
Result:結果(Boolean型変数)
と設定して、結果の中身をMessage Boxで確認してみます。
“あいうえお”の中に”い”はもちろん含まれていますので、当然Trueですね。
これで”い”のところを”か”に変えたりすると結果はFalseになります。
続いて、Matchesについて見てみます。
基本的には①のIs Matcheと同じですが、返ってくるのがListとなります。
例として、”あいうえお123″の中の数字部分を取得してみます。
Input:”あいうえお123″
Pattern:”[0-9]”(数字を表す正規表現)
Result:結果(IEnumerable<Match>型変数)
と設定して、結果の中身をForEachで回して、1つずつMessage Boxで確認してみます。
これを実行すると以下のメッセージボックスが順番に表示されます。
数字部分が1つずつ表示された感じになります。
最後にReplaceについて紹介します。
これは名前そのままの通り、文字列の置換を行ってくれるものです。
例として、”あいうえお”の”え”を”e”に置換してみます。
Input:”あいうえお”
Pattern:”え”
Replacement:”e”
Result:結果(String型変数)
と設定して、結果の中身をMessage Boxで確認してみます。
これで置換できました。
と、ここまでが、アクティビティの基本的な使い方になります。
ただ実際にこのアクティビティで便利なのは正規表現が使える、というところなので、便利そうな正規表現をまとめてみます。
・”[0-9]”:数字
例:a1あb2い→1、2
・”[a-z]”:英字
例:a1あb2い→a、b
・”[あ-ん]”:ひらがな
例:a1あb2い→あ、い
・”[0-9a-z]”:数値、英字
例:a1あb2い→a、1、b、2
・”[0-9,]”:数値、カンマ
例:a1あb2,い→1、2、,
・”|”:塊として取得できる
例:あいうえお(正規表現:”あい|うえ”)→あい、うえ
・”.”:改行以外の1文字
例:あいうえお(正規表現:”.う”)→いう
・”+”:直前の繰り返し
例:あいううえお(正規表現:”う+”)→うう
例:”あいう123えお”(正規表現:”[0-9]+”)→123
・{num}:num回分繰り返し
例:”あいう1234″(正規表現:”[0-9]{2}”)→12、34
・{num1,num2}:num1回以上num2回以下繰り返し
例:”123あいう56″(正規表現:”[0-9]{2,4}”)→123、45
・”^”:否定文字列([]の中で使う)
例:”あいう123″(正規表現:”[^0-9]”)→あ、い、う
・”^”:文字列の先頭
例:”あいう123″(正規表現:”^あ”)→あ
・”$”:文字列の末尾
例:”あいう123″(正規表現:”123$”)→123
アクティビティのプロパティにあるRegexOptionについては以下を参照ください。
正規表現のオプション
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expression-options
以上、正規表現を使うアクティビティまとめでした。
正規表現はいろんなところで使えるので、多少覚えておくと便利だと思います。