使用します。NET互換の正規表現の使用

正規表現は、文字とメタ文字からなる文字列です。正規表現を使用すると、テキスト内の文字パターンを見つけることができます。例として、正規表現は、日付(mm/dd/yy、dd-mm-yyyy など)のようなさまざまな形式で表現できるデータを見つけるのに役立ちます。

正規表現の詳細については、 Microsoft ..NETドキュメント:正規表現言語 - クイックリファレンスを参照ください。

OSVScenariosTosca Commander 内を設定するときに正規表現を追加できます。これを行うには、 で説明されているように、正規表現を値として入力します。ActionModesWaitOn および検証では正規表現を使用できます。

メタキャラクタの使用

メタ文字は特別な意味を持つ文字です。正規表現では以下のメタ文字を使用できます。

文字

説明

[ ]

角括弧内のすべての文字を検索します。

複数の文字をグループ化することができます。

[abc ] は abc にマッチします。

[a-z]a から zまでの小文字の範囲を定義します。

[^]

角括弧内にないすべての文字を検索します。

文字をグループ化したり、範囲を使用することができます。

[^abc]abc 以外のすべての文字にマッチします。

[a-z]a から z までの小文字を除くすべての文字にマッチします。

.

改行または段落区切りを除く任意の1文字にマッチします。

a.cabcaTca$ca c などにマッチします。

\d

数値文字を検索します。

\d\d\d は、 145238 など、任意の3桁の数字にマッチします。

\w

英数字を検索します。

\wabc defabcdef にマッチします。

+

直前の要素が1回以上現れることを指定します。

ab+cabcabbcabbbc などにマッチします。

?

直前の要素が一度だけ現れるか、全く現れないかを指定します。

ab?cac または abc にマッチします。

*

直前の要素が0回以上現れることを指定します。

ab*cacabcabbc などにマッチします。

{n}

直前の要素がちょうど n 回現れることを指定します。

ab{3}cabbbc にマッチします。

{n,m}

直前の要素が n 回以上 m 回以下出現することを指定します。

ab{2,4}cabbcabbbcabbbbc にマッチします。

\b

単語境界を検索します。

\b\d\d\w+ は2文字で始まり、1文字以上のアルファベットと数字が続く文字列にマッチします。例: 12He( \t34aq 。 

( )

部分式を定義します。

(\d\d\d\s)+ は3桁の数列にマッチします。例: 123 456 789 012

|

直前または直後の要素を検索します。

(ab)|(cd)abcd にマッチします。

\

次の文字がリテラルまたは特別な意味を持つかどうかを指定します。

\+ はプラス記号、 + はメタ文字を示します。

\d はメタ文字で、 d はそれぞれのアルファベットを示します。

^

行頭を示します。

^The は、 The で始まるすべての文字列にマッチします。

$

行末を示しています。

$endend で終わる文字列にマッチします。

\s

空白文字を検索します。

\s* は、0個以上のホワイトスペース文字にマッチします。

i

大文字と小文字を区別しないマッチングを使用します。

(? i) test は大文字と小文字を無視してマッチを検索します。例: testTestTESTteST

正規表現の例

例1:日付

この例では、式を使って日付を検索しています。

構文:

{REGEX"^\d{1,2}[ /.-]\d{1,2}[ /.-](\d{4}|\d{2})$"]}

この例では、式 {REGEX["^\d{1,2}[ /.-]\d{1,2}[ /.-](\d{4}|\d{2})$"]} を使用して、さまざまな形式の日付を検索いたします。

パターンには以下が含まれます。

  • ^: 行頭

  • \d{1,2} :日 (1桁または2桁の長さ)

  • [ /.-]: セパレーター (スペース、 フォワードスラッシュ、ドットまたはハイフン)

  • \d{1,2}:月(1桁または2桁)

  • [ /.-]: セパレーター (スペース、 フォワードスラッシュ、ドットまたはハイフン)

  • (\d{4}|d{2}): 年(2桁または4桁)

  • $: 行末

フィールドの正規表現

検索結果には、 9/312.12.871-1-199911.198604/23/2007 、01.03.2000, 4.8 が含まれます。

例 2:ISO8601日付と時刻

この例では、式を使って、日付と時刻の組み合わせを特定の書式で検索しています。

構文:

{正規表現["^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$"]}

この例では、通常の式を使用して ISO8601 形式の日付と時刻を検索します。つまり日付および時刻に関連するデータの交換に関する国際標準です。

{REGEX["^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$"]} を使用して、協定世界時(UTC)での日時を検索します。

パターンには以下が含まれます。

  • ^: 行頭

  • \d{4} 年(4桁)

  • -: 区切り記号(ハイフン)

  • \d{2} 月(2桁)

  • -: 区切り記号(ハイフン)

  • \d{2} 日(2桁)

  • T: 日付と時刻の区切り文字

  • \d{2} ちょうど2桁

  • : :セパレータ(コロン)

  • \d{2} 時(2桁)

  • : :セパレータ(コロン)

  • \d{2} :秒(2桁)

  • Z :タイムゾーン指定子(UTC)

  • $: 行末

フィールドの正規表現

検索結果には、 2013-10-03T12:00:00Z1776-07-04T13:37:11Z1993-01-01T00:00:00Z が含まれます。

例3:電話番号

この例では、式を使って電話番号を検索しています。

構文:

{REGEX["(((00|\+)(420|43))|0)\s?\d+/?(\s?\d)+"]}

この例では、正規表現 {REGEX["(((00|\+)(420,|43))|0)\s?\d+/?(\s?\d)+"]} を使用して、さまざまな形式の電話番号を検索します。

パターンには以下が含まれます。

  • (((00 |\+)(420|43))|0):は 004200043+420+43 または0を見つけます。

  • \s?: 可能なスペース

  • \d+ :1桁以上の数字

  • /?: 可能なフォワードスラッシュ 

  • (\s?\d)+:文字列、間に空白が入る可能性があります。

フィールドの正規表現

検索結果には次のものがあります: +43664 12345670699 1234 5678900420669/1234567