C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: マッチしない正規表現


(過去ログ 72 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■41893 / inTopicNo.1)  マッチしない正規表現
  
□投稿者/ RT (161回)-(2009/10/02(Fri) 18:08:03)

分類:[C#] 

こんにちは、RTです。
たびたびお世話になります。
C#でプログラミングを行っております。

質問なのですが、文字列が、alt=〜を含んでいれば、マッチしない判定をする正規表現を作りたいのですが、

<center><img border=\"0\" align=\"middle\" alt=\"ライン\" src=\"baby_l1.gif\" /><br />"

↑の文字列に対して、^(?!alt=)の正規表現で判定したのですが、マッチしてしまいます。

マッチしない方法に関して、アドバイスよろしくお願いします。
引用返信 編集キー/
■41898 / inTopicNo.2)  Re[1]: マッチしない正規表現
□投稿者/ たくボン (238回)-(2009/10/02(Fri) 19:45:20)
No41893 (RT さん) に返信
> こんにちは、RTです。
> たびたびお世話になります。
> C#でプログラミングを行っております。
>
> 質問なのですが、文字列が、alt=〜を含んでいれば、マッチしない判定をする正規表現を作りたいのですが、
>
> <center><img border=\"0\" align=\"middle\" alt=\"ライン\" src=\"baby_l1.gif\" /><br />"
>
> ↑の文字列に対して、^(?!alt=)の正規表現で判定したのですが、マッチしてしまいます。
>
> マッチしない方法に関して、アドバイスよろしくお願いします。

まっちしたら否定でいんじゃない?
引用返信 編集キー/
■41901 / inTopicNo.3)  Re[2]: マッチしない正規表現
□投稿者/ RT (162回)-(2009/10/02(Fri) 21:21:14)
No41898 (たくボン さん) に返信

> まっちしたら否定でいんじゃない?

"(?=alt="+ライン + ")"で、マッチさせようとしましたが、
alt=とラインの間にある\"が邪魔しているせいなのかマッチしません。
引用返信 編集キー/
■41913 / inTopicNo.4)  Re[3]: マッチしない正規表現
□投稿者/ よねKEN (417回)-(2009/10/03(Sat) 10:00:46)
2009/10/03(Sat) 10:11:53 編集(投稿者)

No41901 (RT さん) に返信
> ■No41898 (たくボン さん) に返信
>
>>まっちしたら否定でいんじゃない?
>
> "(?=alt="+ライン + ")"で、マッチさせようとしましたが、

「alt=」との比較の話だったはずなのに、
なぜ 「ライン」を連結した文字で検索しようとしているのでしょうか?

#本当に捕まえたいのは「alt=」ではなく「alt="〜"」の部分なのでは?
#もしそうなら、正規表現を考える前に、alt="〜"やalt='〜'やALT="〜"
#といったhtmlの属性の記述ルールについての知識がいりますね

> alt=とラインの間にある\"が邪魔しているせいなのかマッチしません。

その\マークはC#の文字列リテラル表現のエスケープの文字ですか?
それとも実際の文字列リテラルの中身の一部ですか?

前者なら「alt="ライン"」という文字列、後者なら「alt=\"ライン\"」という文字列
が実際の文字列だと思いますが、比較しようとしているのは、
「alt=ライン」という文字列なので、当然マッチしませんよね??

質問文通りならば、正規表現を使うまでもなく、
「<center><img border=\"0\" align=\"middle\" alt=\"ライン\" src=\"baby_l1.gif\" /><br />"」
という文字列に対してIndexOfで"alt="を検索すればいいのではないでしょうか?

#と書いてたけど、わざわざ正規表現でやりたいってくらいだから、
#実際はこういうことがやりたいんじゃないだろうなぁ。
#「質問なのですが、文字列が、alt=〜を含んでいれば、マッチしない判定をする正規表現を作りたいのですが」
#という質問文だけでなく、その結果で何を実現したいのか、という背景を書いた方がいいと思います。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -