- - PR -
ある文字からある文字までを検索
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-11-30 15:23
いつもお世話になっております。
正規表現での質問なのですが、"【"と"】"に囲まれた文字を拾いたいのですが、 下記の方法で試してみましたが、うまくできませんでした。 使用言語はC#です。 Regex reg = new Regex("([【][^【】]+[】])*"); Match m = reg.Match("【abc】【xyz】"); こんな感じで拾いたいのですが、 m.Groups[0].Value ⇒ 【abc】 m.Groups[1].Value ⇒ 【xyz】 下のようになってしまいます m.Groups[0].Value ⇒ 【abc】【xyz】 m.Groups[1].Value ⇒ 【xyz】 初心者の質問で申し訳ありませんが、 どういう記述をすればよいのでしょうか よろしくお願いします。 |
|
投稿日時: 2005-11-30 15:44
最小マッチ(ものぐさマッチ)を使って
(【.+?】)(【.+?】) とか |
|
投稿日時: 2005-11-30 16:12
m.Groups[1].Value とm.Groups[2].Value に入っていませんか?
0 は、全マッチングだったと思います。 |
|
投稿日時: 2005-11-30 18:34
catsさん、明智さん、ありがとうございます。
私、勘違いをしておりました。 同じものを複数マッチングさせたかったのですが、その場合は m.Matchesメソッドを使用すればよかったみたいです。 結果、以下のようにすればやりたいことができました。 Regex reg = new Regex("([【][^【】]+[】])"); // ←「*」をはずしました MatchCollection m = reg.Matches("【abc】【xyz】"); おかげで解決することができました。 ありがとうございました。 また何かありましたらよろしくお願いします。 |
|
投稿日時: 2005-11-30 18:34
catsさん、明智さん、ありがとうございます。
私、勘違いをしておりました。 同じものを複数マッチングさせたかったのですが、その場合は m.Matchesメソッドを使用すればよかったみたいです。 結果、以下のようにすればやりたいことができました。 Regex reg = new Regex("([【][^【】]+[】])"); // ←「*」をはずしました MatchCollection m = reg.Matches("【abc】【xyz】"); おかげで解決することができました。 ありがとうございました。 また何かありましたらよろしくお願いします。 |
|
投稿日時: 2005-11-30 18:34
catsさん、明智さん、ありがとうございます。
私、勘違いをしておりました。 同じものを複数マッチングさせたかったのですが、その場合は m.Matchesメソッドを使用すればよかったみたいです。 結果、以下のようにすればやりたいことができました。 Regex reg = new Regex("([【][^【】]+[】])"); // ←「*」をはずしました MatchCollection m = reg.Matches("【abc】【xyz】"); おかげで解決することができました。 ありがとうございました。 また何かありましたらよろしくお願いします。 |
|
投稿日時: 2005-11-30 18:34
catsさん、明智さん、ありがとうございます。
私、勘違いをしておりました。 同じものを複数マッチングさせたかったのですが、その場合は m.Matchesメソッドを使用すればよかったみたいです。 結果、以下のようにすればやりたいことができました。 Regex reg = new Regex("([【][^【】]+[】])"); // ←「*」をはずしました MatchCollection m = reg.Matches("【abc】【xyz】"); おかげで解決することができました。 ありがとうございました。 また何かありましたらよろしくお願いします。 |
|
投稿日時: 2005-11-30 18:34
catsさん、明智さん、ありがとうございます。
私、勘違いをしておりました。 同じものを複数マッチングさせたかったのですが、その場合は m.Matchesメソッドを使用すればよかったみたいです。 結果、以下のようにすればやりたいことができました。 Regex reg = new Regex("([【][^【】]+[】])"); // ←「*」をはずしました MatchCollection m = reg.Matches("【abc】【xyz】"); おかげで解決することができました。 ありがとうございました。 また何かありましたらよろしくお願いします。 |