Perlの正規表現で、「)」(カッコ閉じ)は、「(」(カッコ開け)同様メタ文字で、もし/)/のようなマッチ演算子を書いて、「)」という文字列を検索しようとすると、Unmatched ) in regexというエラーになります。
しかし、「]」(角カッコ閉じ)や、「}」(中かっこ閉じ)は、メタ文字ではなく、/]/、/}/のようなマッチ演算子は正当で、それぞれ]、}をきちんと検索するのです。
「[」(角カッコ開け、文字クラスを作る)や、「{」(中かっこ開け)はメタ文字なのに、です。
開けがこないのに閉じが来た場合、]と}はエラーにならないのに、)だけはエラーになります。
これは、なぜでしょうか。
No.4
- 回答日時:
ちょろっと調べてみると ] や } を「メタ文字」とはしていない資料があったりする....
ちなみに { は微妙な扱いだったりするのが難しいところ.
No.2
- 回答日時:
詳しく調べたわけではありませんが
() は入れ子に使われるので、正規表現の構文解析方法が []や{}と違うからではないか、と思います。
メタ文字としての{}の中には数字、カンマ、特定の文字列しか入りません。
メタ文字[]の中も特殊なのは[や[^の直後の]と [:文字クラス:] があるだけです。
対して、()はいくらでも入れ子にできます。
[]や{}のような単純なルールの適用は難しいです。
「この場合は ) は通常の文字」とかいうルールを書きだしていったら、わけわからなくなると思います。
No.1
- 回答日時:
そりゃ簡単な事でんがな!
メタ文字の「グループ化演算子」として使われとるからでっせ!
http://www.lightship.co.jp/FileVisor6/help/opera …
つまりやのぉ~、「(」はグループの始まりやさかい「文字列と認識する。
で、「)」はグループ化演算子の終わりと認識するさかい「文字列では無い」となるんでっせ!
この回答への補足
ううん、おっしゃるとおりですが、それだと反復量指定子の終わりを示す「}」や文字クラスの終わりを示す「]」がメタ文字じゃないのがなぜかイマイチわからへんのですが。。
補足日時:2014/08/04 14:06お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メールアドレスの正規表現について
-
正規表現 秀丸エディタ 行頭か...
-
C言語にパターンマッチってない...
-
文章中全ての半角カッコ ( の...
-
PS4コントローラーをPCでゲーム...
-
Chr(13)とChr(10)の違いは?
-
エクセルでアルファベットか数...
-
1文字って1バイトだったっけ?
-
MMDでavi出力が出来ない
-
履歴書の志望動機の所で、「ま...
-
C#で年月を比較する
-
4Kの外部モニターに出力すると...
-
EXCELで=より左の文字を一括で...
-
「彡」って文字はなんという文...
-
VBAでの Replace関数で、ワイル...
-
Excelで3E8を3.00E+8にしない方...
-
エクセルで文字列をtxtファイル...
-
excelで勝手に改行されます
-
Msgboxの×が押されたとき
-
コンセントの電力は入力と出力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正規表現 秀丸エディタ 行頭か...
-
正規表現でAND検索はできる...
-
メールアドレスの正規表現について
-
vbaの正規表現で、マッチした一...
-
文章中全ての半角カッコ ( の...
-
C言語のコメントを「正規表現」...
-
C言語にパターンマッチってない...
-
正規表現です。括弧内にある複...
-
第二水準漢字が含まれるか?
-
[VBS] テキストファイルから任...
-
MFCで正規表現
-
正規表現でシングルクォーテー...
-
正規表現で、青空文庫形式の入...
-
python 正規表現
-
正規表現でカウントアップ(?)す...
-
Perl 数値にスラッシュを入れる...
-
正規表現で特定文字列の全角カ...
-
セルの長文を、正規表現で連続...
-
さくらエディタでGrep検索する...
-
正規表現で大文字小文字指定に...
おすすめ情報