ブライアンプールズ様のサービス飯でいただいたメニューで気になった食材
F山
どうもです。F山です。
今回は第4回正規表現なお話。
今日は「繰り返し」について説明します。
「0または1回」とは?
例えば正規表現で「F山?だぞ」と書いた場合、「?」の直前の文字があってもなくてもヒットします。
「F山だぞ」でも「Fだぞ」でもヒットするということですね。
山なんてあってもなくてもどうでもいいんだよ。
やさぐれてやる。
そんな感じ。
「0回以上」とは?
例えば正規表現で「F山*だぞ」と書いた場合、「*」の直前の文字があってもなくても、必要以上にたくさんあってもヒットします。
「F山だぞ」でも「Fだぞ」「F山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山だぞ」でもヒットするということですね。
山だらけ、キモい。
やさぐれてやる。
そんな感じ。
「1回以上」とは?
例えば正規表現で「F山+だぞ」と書いた場合、「+」の直前の文字が1個以上あるとヒットします。
「F山だぞ」でも「F山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山山だぞ」でもヒットするということですね。
「Fだぞ」は今回はヒットしません。お休みです。
やさぐれてやる。
そんな感じ。
「0または1回(最小一致)」とは?
こいつはF山は使いません。
用なしなので省略。
やさぐれてやる。
そんな感じ。
「0回以上(最小一致)」とは?
こいつもF山は使いません。
用なしなので省略。
やさぐれてやる。
そんな感じ。
「1回以上(最小一致)」とは?
【F山だぞ】【F山だぜ】【F山だよ】【F山だね】【F山だわ】というテキストがあったとします。
これらを個別で全てにヒットさせたいけど、】の前の文字が全部違いますよね。
よく間違えてしまうのは、正規表現で「【.+】」というふうに、前で紹介した「1回以上」で書いてしまうケース。
「【.+】」とは、
「【」のあとに「文字が1回以上」あり、「】」で終わる。そんな感じ。
「【.+】」で
【F山だぞ】【F山だぜ】【F山だよ】【F山だね】【F山だわ】
を検索してヒットするのは、
【F山だぞ】【F山だぜ】【F山だよ】【F山だね】【F山だわ】
全てが一度に選ばれてしまいます。
ここで「1回以上(最小一致)」と使うとどうなるか。
正規表現で「【.+?】」と書きます。
すると、
【F山だぞ】
【F山だぜ】
【F山だよ】
【F山だね】
【F山だわ】
のそれぞれに個別でヒットします。
「1回以上(最小一致)」は結構使いますよ。
次の試験でも必ず出るので要チェックやでぇ~。
ん? 試験なんてあったっけ?