正規表現_部分正規表現 ( hoge ) を使用する意味

使わないと表現できない時があるから、だがもっと具体的に。

 

1. 「 ( 」と「 ) 」で囲まれたものに対して* や + を付随させるため。

2. 優先順位を変更するため。

 

1.の説明

「うひゃー」 が連続した文字列を探したい時、

(うひゃー)*

で探せる。
これは「うひゃー」「うひゃーうひゃー」などに一致する。
* の意味は、直前の文字が0 以上 という意味を表すので、
(うひゃー)* の意味は「うひゃー」が0 以上連続した文字列、となる。
「(  )」で「うひゃー」を一塊としている。

 

 2.の説明

 「彼は退社した」または「彼は帰宅した」を探したい時、

彼は(退社|帰宅)した

で探せる。
これは「退社」と「帰宅」を選ばせた後に「した」という文字列が続く、
という意味。

彼は退社|帰宅した

となると、「彼は退社」と「帰宅した」を選ばせることになる。

これは「 | 」による文字列の選択より、文字列の連接の方が優先順位が高い為、
「 ( 」と「 ) 」を使用しないと正しく表現できない。

 

 いずれも同一クラスタとして扱わせたいのは変わりないかと。
今日は以上!