Sun Java System Portal Server Secure Remote Access 7.2 管理ガイド

ルールでのパターンマッチングの使用

valuePatterns フィールドを使用してパターンマッチングを実行し、書き換えが必要な文の特定部分を識別することができます。

ルールの一部として valuePatterns を指定すると、一致したパターンに続くすべてのコンテンツが書き換えられます。

次のフォーム例のルールを考えます。

<Form source="*/source.html
" name="form1" field="visit
" [valuePatterns="0|1234|"]/>

各表記の意味は次のとおりです。

source は、フォームが表示される HTML ページの URL です。

name はフォーム名です。

field は値を書き換える必要があるフォームのフィールドです。

valuePatterns は、書き換えが必要な部分文字列を示します。valuePatterns のあとに表示されるすべてのコンテンツは書き換えられます (省略可能、デフォルト "" は値全体の書き換えが必要であることを示す)。

valuePatterns への特殊文字の指定

\ (円記号) でエスケープすることにより、特殊文字を指定できます。次に例を示します。

<Form source="*/source.html " name="form1" field=" visit" [valuePatterns="0|1234| \\;original text|changed text"]/>

valuePatterns でのワイルドカードの使用

ワイルドカードのアスタリスク (*) を使用して、書き換えのパターンマッチングを実行できます。

valuePatterns フィールドに * だけを指定することはできません。* はすべてのテキストとの一致を示すため、valuePattern に続くテキストがなくなります。したがって、リライタが書き換えるテキストもなくなります。* は *abc のように、ほかの文字列と組み合わせて使用する必要があります。この場合、*abc に続くすべてのコンテンツが書き換えられます。


注 –

アスタリスク (*) はルールのどのフィールドでも、ワイルドカードとして使用できます。ただし、ルールのすべてのフィールドに * を使用することはできません。すべてのフィールドに * が含まれている場合、ルールは無視されます。エラーメッセージは表示されません。


* や ** は、セミコロンやコンマなどの区切り文字と一緒に使用できます。区切り文字は、元の文に含まれる複数のフィールドを区切ります。1 個のアスタリスク (*) は書き換えられないフィールドと一致し、2 個のアスタリスク (**) は書き換えが必要なフィールドと一致します。

「valuePatterns でのワイルドカードの使用」は、* ワイルドカードの使用例を示しています。

表 4–1 * ワイルドカードの使用例

URL 

valuePatterns 

説明 

url1, url2, url3, url4

valuePatterns = "**, *, **, *"

** が書き換えられる部分を表すため、url1url3 が書き換えられます。

XYZABChttp://host1.sesta.com/dir1.html

valuePatterns = "*ABC"

http://host1.sesta.com/dir1.html の部分だけが書き換えられます。*ABC のあとのすべてを書き換える必要があります。

"0|dir1|dir2|dir3|dir4|test|url1

valuePatterns = "*|*|**|*|**|*|"

dir2dir4、および url1 が書き換えられます。書き換えが必要な最後のフィールドは、** を使用して指定する必要はありません。