行末記号

広告

ターゲット文字列は1行だけではなく複数の行から構成される場合があります。正規表現を利用する場合、ターゲット文字列の中に次の文字または文字列が現れた時に行末記号として扱われます。

改行文字 ('¥n')
直後に改行文字が付いたキャリッジリターン文字 ("¥r¥n")
単独のキャリッジリターン文字 ('¥r')
次行文字 ('¥u0085')
行区切り文字 ('¥u2028')
段落区切り文字 ('¥u2029) 

これらの文字または文字列が現れると次の行として扱われます。例えば次のように記述します。

String str = "abc¥ndef";

この場合、ターゲット文字列は2つの行から構成されていると識別されることになります。行を識別するかどうかは、パターンを行頭や行末にマッチさせる場合に重要です。

なおUNIX_LINESモードが有効な場合は、改行文字 ('¥n')だけが行末記号として認識されます。

String regex = "abc";
Pattern p = Pattern.compile(regex, Pattern.UNIX_LINES);

具体的な利用方法などは必要に応じて今後解説していきます。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)