- 追加された行はこの色です。
- 削除された行はこの色です。
TITLE:間違いだらけの正規表現講座 level 6
#contents
* 頭から!おしりから! [#o42f3b2e]
だんだん難しくなってきました。第6回です。~
今回は、「位置指定」について覚えましょう。
* 位置指定 [#rac57225]
今まで覚えてきた「メタ文字」、正規表現特有の記号は、どれも、~
1文字だったり複数文字だったりはするものの、「何かの文字」を表す~
メタ文字でした。
今回のはちょっと毛色が異なり、「文字の位置」を表すメタ文字です。
* 先頭と終端 [#s12ba440]
今回の記号は、「^」と「$」です。
これは、「先頭」「終端」をあらわすメタ文字です。
何の先頭、終端でしょうか?
それは、「マルチラインモード」のON/OFFによって意味が異なる場合が~
あるのですが、とりあえず、まずは「行の先頭」「行の終端」と思っていいです。
実際に例を見ないと良く分かりませんね。
-「^[0-9]」これは、行の先頭にある数字にマッチします。行の途中に数字があってもマッチしません。
-「。$」これは、行の最後が。で終わっていれば、その「。」とマッチします。
-「^■.*■$」これは、行の先頭に■があり、その後何か文字列が続いて、行の最後に■がある行全体にマッチします。
つまり、「^」「$」自身はどんな文字ともマッチせず、そのほかの正規表現が~
ある位置を規定するわけです。
* まるちいラインモード [#m72ca27e]
さて、さっきから出てきた「マルチラインモード」とは何かというと、~
「^」「$」が、「行の先頭、終端」なのか、「文字列全部の先頭、終端」なのかを~
決めるモードです。
大抵のエディタでは、「マルチラインモードON」だと思ってください。~
つまり、「^」「$」は行の先頭、終端をあらわす記号となります。
正規表現が使える言語等では、ON/OFFが選べる場合があります。~
「マルチラインモードOFF」だと、「^」「$」は、正規表現を適用する~
文字列全体の先頭、終端、という意味になります。
* ご指摘などはこちらへ [#b35b5afb]
#comment