Welcome to the new Ranorex Support Portal

正規表現の構文

このセクションでは、基本的な正規表現のメタ文字(特殊文字)と、基本的な構文について、例を取り上げて説明します。

Ranorex Studio は、.NET の正規表現エンジンを使用しています。これは非常に強力で複雑であるため、そのすべてを説明することは、このユーザーガイドの範囲を超えてしまいます。より詳しい情報については、Microsoft の公式ドキュメント を参照してください。

メタ文字(特殊文字)

正規表現で演算子として使用される文字があります。これらの文字は、メタ文字(特殊文字)と呼ばれます。

これらの文字をメタ文字として扱われたくない場合、例えば、その文字自体を検索したい場合、その文字を”エスケープ”する必要があります。メタ文字の前に、バックスラッシュ() を付けることでおこないます。

. 任意の一文字
^ 文字列の先頭
$ 文字列の最後
| OR 演算子
? 直前のパターンの 0~1 回の出現
+ 直前のパターンの 1 回以上の連続
* 直前のパターンの 0 回以上の連続
{ } 直前のパターンの指定回数の連続
( ) グループ化
[ ] 括弧内に指定した文字のうち、いずれかの文字

 

正規表現の例

単一要素の表現

[1234567]

  • 括弧内に含まれるいずれかの一文字 (1~7 のいずれか) にマッチ
  • 別の表記方法: [1-7]

[Max]

  • 括弧内に含まれるいずれかの一文字 (“M”, “a”, “x” のいずれか) にマッチ
  • “Max” にはマッチしません

[1-35-8]

  • 1, 3, 5, 6, 7, 8 のいずれかにマッチ
  • 35 にはマッチしません

複数要素の表現

[1-9][ab]

  • それぞれの括弧内の文字の組み合わせ (“1a”, “1b”, “2a”, “2b”, … “9a” など) にマッチ

量指定子

量指定子メタ文字 ?, +, *, {} は、適用する文字の後ろに記述します。

[1-9]?

  • 1~9 の間のいずれかの数字が 0 個または 1 個にマッチ
  • (Colou?r) は、”Colour” にも “Color” にもマッチ

[1-9]+

  • 1~9 の間のいずれかの数字が 1 個以上にマッチ
  • つまり、0 以上のあらゆる数字にマッチ

[0-9]{5}

  • 5 桁の数字にマッチ

[0-9]{3,}

  • 3 桁以上の数字にマッチ

[0-9]{3,5}

  • 3~5 桁の数字にマッチ

先頭にマッチ

^Image_

  • “Image_” で始まるあらゆる文字列にマッチ

(^Image_)[0-9]{3}

  • “Image_” で始まり、そのあとに 3 桁の数字が続く文字列にマッチ
  • “Image_001”, “Image_999”, “Image_127” など

(^Image_)[0-9]{3}(.jpg)

  • “Image_” で始まり、そのあとに 3 桁の数字と “.jpg” が続く文字列にマッチ
  • ピリオド (.) をバックスラッシュ () でエスケープ

最後にマッチ

Sample$

  • “Sample” で終わるあらゆる文字列にマッチ

(Sample[0-9]{3}$)

  • “Sample” のあとに 3 桁の数字で終わるあらゆる文字列にマッチ

プレースホルダー

Image.*

  • “Image” のあとに、0 個以上の他の文字が続くあらゆる文字列にマッチ
  • . は、任意の文字を表すプレースホルダー
  • “Image3459834059346237832jkhdsdb”, “Image”, “ImageTheCat” などにマッチ

いずれかにマッチ

((G|g)r(a|e)y)

  • “Gray”, “gray”, “Grey”, “grey” にマッチ

除外

[^ で、文字を除外指定できます。

[^0-9]

  • すべての数字を除外。つまり、数字を含まない文字列にマッチ

RanoreXPathの例

正規表現を RanoreXPath 式で使用することもできます。いくつかの例を挙げます。

説明
button[@text~’sample[0-9]’] 以下のボタン要素にマッチ: “sample0”, “sample1”, … “sample9”, “My sample26”
listitem[@text~’^sample’] text 属性の値が “sample” から始まるリストアイテムにマッチ
listitem[@text~’sample$’] text 属性の値が “sample” で終わるリストアイテムにマッチ
listitem[@text~’gr(a|e)y’] text 属性の値が “gray” または “grey” であるリストアイテムにマッチ
listitem[@text~’^sample 123$’] text 属性の値が “sample 123” であるリストアイテムにマッチ (バックスラッシュで、スペースなどの特殊文字をエスケープ)