absent operatorの挙動だが、(?~) は何にもマッチしないのが期待値なんだろうか?」■空パターンはすべての文字列に含まれている(※空文字列を含め何にでもマッチする)というのが普通なので、そういう文字列以外にマッチするパターン(※非包含オペレータが表すもの)は何にもマッチしないのだろうかってことだよね。文字の集合に対する
[]
(どの文字にもマッチしない)と [^]
(どの文字にもマッチする) とは反対なのが面白い。■文字集合を使った初心者のよくやる間違い [^ここに文字の集合ではなく列を書いてしまう]
や、お手軽だが不完全な代替 .*?
を使ったパターンに対して、正しく、簡単で、理論を逸脱しない答えが用意されるのが待ち遠しい。■日本語部分だけ読んだ>「正規表現における 非包含オペレータの提案」。■いや待てよ。非包含オペレータが扱う典型的なパターンはどういうものだろう。foo
だろうか .*foo.*
だろうか。俺は (?~)
について書いてるつもりで (?~.*)
について書いていたんだろうか。二つが同じだとすると部分一致ではなく完全一致であることを明示するために (?~^foo$)
みたいにアンカーを付けたくなるだろうから両者は区別されるんだろう。じゃあやっぱり勘違いしてた? s=uvw
みたいな文字で構成された式を「文字列がパターンを含む? どういうこと?」と読んで疑問のままにしてるんだけど、その辺を含めて PDFを読み直したい。