正規表現at UNIX正規表現 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト200:189 03/05/08 14:28 >>199 すみませ~ん。 求めているものになりました。いろんなスクリプト混ざり合ってたので 混乱しました。 (.+)が最長一致するから(.+)でいいってことに気づきませんでした。 201:名無しさん@お腹いっぱい。 03/05/08 14:45 perlの正規表現と日本語文字列との相性の悪さを 実感する問題だったなあ 202:192 03/05/08 14:50 本当に全角だったのか。失礼。だとすると、/(/ が EUC の 2 バイト目と 文字に一致するとは限らないので注意。全角文字の 2 バイト目と次の文字の 1 バイト目がそれぞれ \xa1 と [\xca-\xcb] にマッチする場合があるので、 文字列「検便」\b8\a1\xca\xd8 にも「(」がマッチしてしまう。 日本語 EUC の 1 文字 にマッチさせたいなら、厳密には (\x8f?[\xa1-\xfe]{2}|\x8e[\xa1-\xfe]|[\x00-\xff]) にマッチさせなくてはならない。 Perl6 の国際化された正規表現が普及して、こんな知識は不要になって くれれば一番いいのだが…。 203:192 03/05/08 14:56 この例の場合、最後の括弧の中は全角ひらがなしか入らないから関係ないけどね。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch