valuePatterns フィールドを使用してパターンマッチングを実行し、書き換えが必要な文の特定部分を識別することができます。
ルールの一部として valuePatterns を指定すると、一致したパターンに続くすべてのコンテンツが書き換えられます。
次のフォーム例のルールを考えます。
<Form source="*/source.html " name="form1" field="visit " [valuePatterns="0|1234|"]/>
各表記の意味は次のとおりです。
source は、フォームが表示される HTML ページの URL です。
name はフォーム名です。
field は値を書き換える必要があるフォームのフィールドです。
valuePatterns は、書き換えが必要な部分文字列を示します。valuePatterns のあとに表示されるすべてのコンテンツは書き換えられます (省略可能、デフォルト "" は値全体の書き換えが必要であることを示す)。
\ (円記号) でエスケープすることにより、特殊文字を指定できます。次に例を示します。
<Form source="*/source.html " name="form1" field=" visit" [valuePatterns="0|1234| \\;original text|changed text"]/>
ワイルドカードのアスタリスク (*) を使用して、書き換えのパターンマッチングを実行できます。
valuePatterns フィールドに * だけを指定することはできません。* はすべてのテキストとの一致を示すため、valuePattern に続くテキストがなくなります。したがって、リライタが書き換えるテキストもなくなります。* は *abc のように、ほかの文字列と組み合わせて使用する必要があります。この場合、*abc に続くすべてのコンテンツが書き換えられます。
アスタリスク (*) はルールのどのフィールドでも、ワイルドカードとして使用できます。ただし、ルールのすべてのフィールドに * を使用することはできません。すべてのフィールドに * が含まれている場合、ルールは無視されます。エラーメッセージは表示されません。
* や ** は、セミコロンやコンマなどの区切り文字と一緒に使用できます。区切り文字は、元の文に含まれる複数のフィールドを区切ります。1 個のアスタリスク (*) は書き換えられないフィールドと一致し、2 個のアスタリスク (**) は書き換えが必要なフィールドと一致します。
「valuePatterns でのワイルドカードの使用」は、* ワイルドカードの使用例を示しています。
表 4–1 * ワイルドカードの使用例
URL |
valuePatterns |
説明 |
---|---|---|
url1, url2, url3, url4 |
valuePatterns = "**, *, **, *" |
** が書き換えられる部分を表すため、url1 と url3 が書き換えられます。 |
XYZABChttp://host1.sesta.com/dir1.html |
valuePatterns = "*ABC" |
http://host1.sesta.com/dir1.html の部分だけが書き換えられます。*ABC のあとのすべてを書き換える必要があります。 |
"0|dir1|dir2|dir3|dir4|test|url1 |
valuePatterns = "*|*|**|*|**|*|" |
dir2、dir4、および url1 が書き換えられます。書き換えが必要な最後のフィールドは、** を使用して指定する必要はありません。 |