OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

「マッチしない」正規表現の書き方

  • すぐに回答を!
  • 質問No.218218
  • 閲覧数3362
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 93% (234/249)

正規表現について、おたずねします。

文字列 abc,def,ghi のいずれかにマッチする正規表現は (abc|def|ghi) ですよね。
それでは、「abc,def,ghi のいずれにもマッチしない」正規表現は、どう書けばいいのでしょうか?
あちこち調べましたが、どうしてもわかりません。

ただし、if $a =~ /(abc|def|ghi)/ などで、=~ を !~ に直す、というのはナシです。あくまでも右辺の式の中で表現したいのですが…
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル8

ベストアンサー率 30% (19/63)

この場で、詳細に説明することは私には難しいので 割愛させていただきます。 #混乱させるだけになりますので。 ご自身でお調べいただくか、識者のご登場に期待してください。 ともかく、こんな感じでできているでしょうか? #若干不十分かも知れません。 /(?=^(?:(?!abc).)*$)(?=^(?:(?!def).)*$)(?=^(?:(?!ghi).)*$)/s それでは。 ...続きを読む
この場で、詳細に説明することは私には難しいので
割愛させていただきます。
#混乱させるだけになりますので。

ご自身でお調べいただくか、識者のご登場に期待してください。

ともかく、こんな感じでできているでしょうか?
#若干不十分かも知れません。

/(?=^(?:(?!abc).)*$)(?=^(?:(?!def).)*$)(?=^(?:(?!ghi).)*$)/s

それでは。
お礼コメント
dep98

お礼率 93% (234/249)

ご回答ありがとうございます。

例の通りにやってみたら、意図する動作ができました!

私も Perl を使って結構長いんですが、この ?= とか ?: とか ?! が、まだイマイチよく理解できないんですよ。ラクダ本見ても、例があまりなくてよくわからないし…

もう少し、あちこち当たって勉強してみます。
投稿日時 - 2002-02-16 20:40:58


  • 回答No.2
レベル9

ベストアンサー率 33% (33/98)

/[^a]bc|[^d]ef|[^g]hi/ こういうのでしょうか^^; 一般的なのはPerl拡張正規表現 /(?!abc)|(?!def)|(?!ghi)/ みたいになるのでしょうか?^^; 意図している具体例を挙げて頂ければ、他の方法が良いかも知れませんが^^; perl -e "$str = 'abdefgh'; $str =~ /([^a]bc|[^ ...続きを読む
/[^a]bc|[^d]ef|[^g]hi/ こういうのでしょうか^^;
一般的なのはPerl拡張正規表現
/(?!abc)|(?!def)|(?!ghi)/
みたいになるのでしょうか?^^;

意図している具体例を挙げて頂ければ、他の方法が良いかも知れませんが^^;

perl -e "$str = 'abdefgh'; $str =~ /([^a]bc|[^d]ef|[^g]hi)/; print $1 eq ''; "
perl -e "$str = 'abcdefghi'; $str =~ /((?!abc)|(?!def)|(?!ghi))/; print $1 eq '';

出力はいずれも1。ActivePerl (Build 630)で確認しました。
お礼コメント
dep98

お礼率 93% (234/249)

ご回答ありがとうございます。

> [^a]bc|[^d]ef|[^g]hi/

実際には abc/def/ghi というのはドメイン名(FQDN)でもっと複雑で長い文字列になるので、この方法ではちょっとダメそうです。

やはり ?: や ?! を使うのでしょうが、2番目の例は、こちらで試した限りでは、うまくいきませんでした。

もう少し、いろいろ調べてみます。
投稿日時 - 2002-02-16 20:44:38
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ