プロが教える店舗&オフィスのセキュリティ対策術

SFC=array.c builtin.c eval.c field.c gawkmisc.c io.c main.c \
missing.c msg.c node.c re.c version.c

上記の文章を「^\w+=.*?(\\\n.*?)*)」でマッチさせようとしてもできません。それを説明する文章が、以下のようになります。

“こうすれば、最初のドットが何かにマッチする前にエスケープされた改行部のテストが行われるので、「\\」は改行の前のバックスラッシュにマッチするのではないだろうか。しかし、
これも機能しない。控えめな量指定子がオプションのものにマッチするのは、それを強制される場合だけだが、この場合は「=」の後ろのすべてのものがオプションなので、何かにマッチすることを控えめな量指定子に強いるものはないのだ。
控えめな量指定子のサンプルは、"SRC="にマッチするだけであり、それでは答えにならない。”
(詳説正規表現173pより)


ここで質問があります。


>>控えめな量指定子がオプションのものにマッチするのは、それを強制される場合だけだが
とありますが、つまり"強制される"ときは、控えめ量指定子なので飛ばすか、マッチするかどうかを調べるか選ばないといけないというときは、控えめなので飛ばす。
しかし、飛ばしたものの飛ばした先で上手くマッチできなかったので、オプションつまり保存ステートに保存しておいた、先ほど飛ばして放置していたものが、
マッチするのかどうか調べる、ということを"強制される"と言っているのでしょうか。


>>「=」の後ろのすべてのものがオプションなので
というのは、つまり「array.c builtin.c eval.c field.c gawkmisc.c io.c main.c \
missing.c msg.c node.c re.c version.c 」なのか、「array.c builtin.c eval.c field.c gawkmisc.c io.c main.c \」どちらなのでしょうか。

A 回答 (1件)

前々から思っていたのですが、何故回答に対して放置なのでしょうか?


ニッチな質問を繰り返す割に回答しても無反応なので、納得したのかどうかもわからない。これではまともに回答する気も失せます。

閑話休題

まず、あなたが「強制される」と思う具体的な正規表現とその動作を提示してみて下さい。
    • good
    • 10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!