ワイルドカードは簡単な文字検索方法で
正規表現は難しいパターンも調べられる文字検索方法ですか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

「ワイルドカードと正規表現」じゃなくて、「ファイル名のマッチと正規表現」の事ですかね。



ワイルドカードはトランプ用語で、「他のどんなカードの代わりにも使えるカード(多くの場合ジョーカー)」のことです。そこから転じて、「他のどんな文字にもマッチする特殊文字」の意味で使われます。

ファイル名のマッチ: コマンドラインや、プログラミング言語の一部の関数でのファイル名の指定に使う
 ? どんな1文字にもマッチ(ワイルドカード)
 * 0文字以上のどんな文字列にもマッチ(文字列のワイルドカード)
 Windowsで使えるのは上記2つですが、Unix/Linuxのシェルだともう少しあります。

正規表現: プログラミング言語から様々な文字列パターンを選択するときに使うパターン
 . どんな1文字にもマッチ(ワイルドカード)
 * 直前の表現の0回以上の繰り返し(繰り返し指定子の一つ)
 他に多数あり。

それぞれ使い場所が違います。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2013/10/10 19:41

見た目は似てますが全く別物です。


本来、正規表現は正規言語を表現するためものです(形式言語とかオートマトンとかを勉強してください)。
ワイルドカードは何にでもマッチする特殊文字、ただそれだけ。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2013/10/10 19:41

>ワイルドカードと正規表現って何が違うのでしょうか?



自分で作成して業務で検索する仕事につけば、わかることがらです。

>正規表現は難しいパターンも調べられる文字

”難しい”と言う表現は合わない。”適切な検索結果をもたらすための手段”となる。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2013/10/10 19:41

正規表現に於ける一つの表記方の一つとしてのワイルドカード

    • good
    • 1
この回答へのお礼

ありがとうございます。

お礼日時:2013/10/10 19:41

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q正規表現について VB6

VB6で正規表現(Microsoft VBScript Regular Expression 5.5を使っているのですが、

(1) No001の場合、001を取得
(2) Noの場合は空文字を取得
したいのですが、どうすればよいのでしょうか?

re.Pattern = "^No(.+)$"

この場合、(1)の場合、マッチしますが(2)でマッチしません。

正規表現に詳しい方、VB6で正規表現をよく使う方、教えて下さい。

Aベストアンサー

"No(.+)$"だと、"No"の後に任意の文字が1個以上無いとマッチしません。

"No"とマッチさせるなら、"No(.*)$"です。

『WindowsユーザのためのLinux入門:正規表現』(←Linuxの解説ですが、基本は一緒なので)
http://tonetsutomu.com/tone/linux/Reference/RegularExp.htm

Q正規表現で文字を抜き出したい

-----------------------ファイルの中身-----------------------------
8 個のファイル x,Xxx,xxx バイト

ファイルの総数:
12400 個のファイル 419,000 バイト
8000 個のディレクトリ 280,284,000 バイトの空き領域

XXXXXXXX
------------------------------------------------------------------


上記のものが一つのファイルの中にいくつか存在し、
その中の『ファイル総数:』~『バイトの空き領域』を
正規表現を使用して、VBSで抜き出したいと思っています。、

"ファイルの総数:[^バイトの空き領域]*バイトの空き領域(?=\r)"
という正規表現を作成したのですが、うまく動作しません。

どのような正規表現を使用したら良いでしょうか。

どなたか、上記の抜き出す文言を示す正規表現をお教えください。

-----------------------ファイルの中身-----------------------------
8 個のファイル x,Xxx,xxx バイト

ファイルの総数:
12400 個のファイル 419,000 バイト
8000 個のディレクトリ 280,284,000 バイトの空き領域

XXXXXXXX
------------------------------------------------------------------


上記のものが一つのファイルの中にいくつか存在し、
その中の『ファイル総数:』~『バイトの空き領域』を
正規表現を使用して、VBSで...続きを読む

Aベストアンサー

ExcelVBAで試したので当てはまるかわからないですが。

Set myReg = CreateObject("VBScript.Regexp")
myReg.Pattern = "ファイルの総数([^\n]*\n){2}[^\n]*空き領域"
myReg.Global = True

改行(\n)以外の文字と改行の組み合わせを2組はさんでみました。

Q正規表現について

HTMLファイルを読み込み、特定の文字列にリンクを付けて出力したいのですが上手くいきません。

例: <img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に正規表現を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。

 ↓正規表現をキーワードにしてリンクを付けたい。

正:<img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に<a href="seiki_hyougen.html">正規表現</a>を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。

誤:<img src="./seiki_hyougen.gif" alt="<a href="seiki_hyougen.html">正規表現</a>についての説明">更に<a href="seiki_hyougen.html">正規表現</a>を知りたい方は、<a href="special.html"><a href="seiki_hyougen.html">正規表現</a>の詳しい説明</a>をクリックして下さい。


尚、下記URLのサンプルを参考にしてスクリプトを作成しています。
http://php.oss.eznetsols.org/manual/ja/function.preg-split.php

$r = preg_split('((\/a>)|(<a))', $html, -1, PREG_SPLIT_DELIM_CAPTURE);
for ($i = 0; $i < count($r); $i++) {
if ($r[$i] == "<a") {
$i++; continue;
}
$r[$i] = preg_replace(
"/(正規表現)/i", "<a href='seiki_hyougen.html'>\\1</a>", $r[$i]
);
}
return join("", $r);

この(正規表現)の部分で上手い正規表現を使えばalt="×××"の中にリンクタグが入らないようにできるのでは?と思っているのですが・・・。

どうか、良い方法を教えて下さい。よろしくお願いいたします。

HTMLファイルを読み込み、特定の文字列にリンクを付けて出力したいのですが上手くいきません。

例: <img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に正規表現を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。

 ↓正規表現をキーワードにしてリンクを付けたい。

正:<img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に<a href="seiki_hyougen.html">正規表現</a>を知りたい方は、<a href="special.html">正規表現の詳しい説明...続きを読む

Aベストアンサー

ごめんなさい。複数のキーワードに対応しようとして
余計なことをしてしまいました。
訂正します。

<?php
$msg = <<<EOF
<img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に正規表現を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。
EOF;

$links = array (
'正規表現' => '<a href="seiki_hyougen.html">正規表現</a>',
);

$link_keys = array_keys($links);
$link_values = array_values($links);

# 表示用関数
function printandreturn ($str) {
print stripslashes("$str");
return "";
}

function printwithlink ($str) {
global $link_keys, $link_values;
print str_replace($link_keys, $link_values, stripslashes($str));
return "";
}

# 処理開始

# 文字化け対策
$msg = str_replace("\\", "\\\\", $msg);

# メインループ
while (strlen($msg)) {
# アンカー部分をスキップ
if (strpos($msg, '<a') === 0) {
$msg = preg_replace("|^(.*?</a>)|e", "printandreturn ('$1')", $msg);
continue;
}
# タグ部分をスキップ
if ($msg[0] == '<') {
$msg = preg_replace("|^(<.*?>)|e", "printandreturn ('$1')", $msg);
continue;
}

# 次のタグまでをリンク付きで表示
foreach ($links as $key => $value) {
$msg = preg_replace("|^([^<]+)|e", "printwithlink ('$1')", $msg);
}
}
?>

ごめんなさい。複数のキーワードに対応しようとして
余計なことをしてしまいました。
訂正します。

<?php
$msg = <<<EOF
<img src="./seiki_hyougen.gif" alt="正規表現についての説明">更に正規表現を知りたい方は、<a href="special.html">正規表現の詳しい説明</a>をクリックして下さい。
EOF;

$links = array (
'正規表現' => '<a href="seiki_hyougen.html">正規表現</a>',
);

$link_keys = array_keys($links);
$link_values = array_values($links);

# 表示用関数
function printandr...続きを読む

QJBScriptの正規表現のマッチ文字を変数化

初めての質問です。
質問用にプログラムを次の通りに作りました。実行すると OK と表示しますが、これを、文章に応じて表示させたいのです。本例の場合は、曇り20度、湿度60% です。

つまり、正規表現でマッチした文字を変数に代入して、その変数を用いて、msgbox出力したいのですが、どの様にコード(マッチ文字の変数化)を記述すれば良いのでしょうか?
本例でいえば、曇りを変数xに、20を変数yに、60を変数zに取り込めるようにしたいのです。
質問用なので、プログラムの意味はこだわらないでください。
本番用では、"本日は曇り20度ですが、湿度60%でした。"は、関数の引数で可変の文章です。
質問が下手で済みません。よろしくお願いいたします。

【sample.vbsの内容】

if blnCheck("本日は曇り20度ですが、湿度60%でした。") then
msgbox "OK" '曇り20度、湿度60% と表示させたい
else
msgbox "NG"
end if

Function blnCheck(strLen)
Dim objRE
Set objRE = new RegExp
objRE.IgnoreCase = True
objRE.pattern = "^本.*(晴)|(曇り)|(雨)\d\d.*湿度\d\d.*"
blnCheck = objRE.Test(strLen)
Set objRE = Nothing
End Function

初めての質問です。
質問用にプログラムを次の通りに作りました。実行すると OK と表示しますが、これを、文章に応じて表示させたいのです。本例の場合は、曇り20度、湿度60% です。

つまり、正規表現でマッチした文字を変数に代入して、その変数を用いて、msgbox出力したいのですが、どの様にコード(マッチ文字の変数化)を記述すれば良いのでしょうか?
本例でいえば、曇りを変数xに、20を変数yに、60を変数zに取り込めるようにしたいのです。
質問用なので、プログラムの意味はこだわらないでください。
...続きを読む

Aベストアンサー

適切な正規表現を指定して、Submatchesを使ってください。

Dim ans
ans = check("本日は曇り20度ですが、湿度60%でした。")
if ans<>"" then
msgbox ans
else
msgbox "NG"
end if

Function check(target)
Dim re, match
Set re = new RegExp
re.IgnoreCase = True
re.pattern = "^本.*(晴|曇り|雨)(\d\d).*湿度(\d\d).*"
if re.Test(target) then
set match = re.Execute(target)(0)
check = match.SubMatches(0) & match.SubMatches(1) & "度、湿度" & match.SubMatches(2) & "%"
else
check = ""
end if
End Function

Q正規表現について

今lexのプログラムを書いているのですが、正規表現の部分でつまずいてしまいました。perlの正規表現なら分かるのですが、lexと少しかってが違い困っています。lexの正規表現でコメント(プログラム中で/**/で囲まれた部分)を読み飛ばす時には、どのような正規表現にしたら是非教えてください。なお/**/の中には文字列*/は出てこないと過程していいとのことでした。
解答お願い致します。

Aベストアンサー

>できるだけ正規表現で表したいのですが・・・面倒ですよね(笑)
それはなぜですか?
もし自分自身の興味としてそうしたいのであれば、解答をそのまま教えて欲しいということはないですよね。

>なお/**/の中には文字列*/は出てこないと過程していいとのことでした。

何かの課題で出されていている問題で、その解答が欲しい?

んじゃあ考え方のヒントだけ。

xy を含まないものにマッチする正規表現
http://www.din.or.jp/~ohzaki/regex.htm#WithoutXY

の応用です(というかそのまま)。
/\* ('*/' を含まない文字列) \*/
という正規表現を、上のURLの先で説明されているパターンを適用してやればできるでしょう。

QVB.NET で正規表現を使用した検索でフリーズする

VB.NET(2003)ですが、Regexを使った正規表現での検索時に検索パターンによっては、プログラムがフリーズして固まります。なにか情報はないでしょうか?

VBプログラムファイル内のコメントを一気に検索するつもりで、 (".*?"|[^"'])*('.*?)\r\n とするとOKですが、
(".*?"|[^"']+)*('.*?)\r\n とするとフリーズします。(+を一つ足した)

プログラムは、
pMatches = Regex.Matches(src, pat)
If pMatches.Count = 0 Then
MsgBox("マッチしません")
End If
といった感じで、
src=対象テキストを全行取込んだ文字列、pat=検索パターンです。

フリーズは、pMatches.Countの部分で起こっているようです。
Matchesの変わりにMatchとNextMatchを使うと、順に検索結果が得られますが、最後の結果にNextMatchを実行したところで固まります。

フリーズ中、タスクマネージャで見ている限りではCPU=100%(HTでは50%)、となりますが、使用メモリー量は変化ありません。

VB.NET(2003)ですが、Regexを使った正規表現での検索時に検索パターンによっては、プログラムがフリーズして固まります。なにか情報はないでしょうか?

VBプログラムファイル内のコメントを一気に検索するつもりで、 (".*?"|[^"'])*('.*?)\r\n とするとOKですが、
(".*?"|[^"']+)*('.*?)\r\n とするとフリーズします。(+を一つ足した)

プログラムは、
pMatches = Regex.Matches(src, pat)
If pMatches.Count = 0 Then
MsgBox("マッチしません")
End If
といった感じで、
src=対象テキストを全...続きを読む

Aベストアンサー

いやいや、バックトラッキングを甘く見ちゃいけないと思いますよ。
(a+)* という正規表現では、対象の文字列が一文字増えるたびにパタンの数が 2 倍になります。
手元で軽く実験して見ました。
(a+)*b という正規表現に対して、文字列 aaa....aaac を検索させると、a が 20 文字のときで約 1 秒、21 文字で約 2 秒、22 文字で約 4 秒、23 文字で約 8 秒、24 文字で約 15 秒でした。
それに対し、(a)*b という正規表現では a が 1000 文字でも 1 秒掛かりませんでした。

実際、(a+)*b のパタン数は a が 24 文字のとき 2 の 24 乗で 16777216 通りですが、(a)*b の方は 1000 文字でも 1001 * 1002 / 2 で 501501 通りしかありません。

ちなみに、(?>(a+)*b) のようにバックトラッキングを無効にすると、数千文字でも一瞬でした。

QMFCで正規表現

Visal Studio 2005のC++で、MFCアプリとして、正規表現を行う簡単なプログラムを書きたいのですが、方法がわかりません。
できれば、perl互換が良いですが、MFCで一般的なものでかつ、
高速で正規表現の処理をさせたいので64bitでコンパイルしても問題ない
ものが知りたいです。

ちなみにVBのRegExpとPerlで正規表現は使ったことがありますので、正規表現自体は多少知っております。
MFCでどのように記述するかが知りたいです。

よろしくお願いいたします。

Aベストアンサー

64bitでできるか分からない/Perlと同じか分からない/高速であるか分からないけど、
ATLには正規表現クラスがあります。
http://msdn.microsoft.com/ja-jp/library/k3zs4axe(VS.80).aspx

QVB.NETで正規表現を教えてください。URL文字を取得

VB.NETなのですが、

htmlソースを変数に入れて、その中からURLを抽出して、
1つずつ保存していくという動作をさせたいのですが、
どうしてもURLを一つずつ取得することができません。

Dim r As Regex
Dim m As Match
Dim JpgFile As String

r = New Regex("http://.+\.jpg")
m = r.Match(html)

If m.Success = False Then
  Else
JpgFile = m.Value
ここで1つずつ保存
End If

現在、ここまで出来たのですが、
これだと、変数html内に複数のjpgのURLがあると
最初のURLの1文字目から、最後のURLの末尾までを一度に
取得してしまいます。
URLの文字列はhttp://で始まっていて、終わりは・・・.jpg"
になっていたり、"がなかったりします。
>で閉じる前に同じタグ内にWidthなどサイズを指定している場合もあります。
また、上記のようにタグ内に書かれていなくて、クリッカブルリンクになっていないURLの場合もありそれも取得したいです。

一つずつ取得する方法や一度に配列に読み込む方法などがありましたら、
ご教示頂けると助かります。
よろしくお願い致します。

VB.NETなのですが、

htmlソースを変数に入れて、その中からURLを抽出して、
1つずつ保存していくという動作をさせたいのですが、
どうしてもURLを一つずつ取得することができません。

Dim r As Regex
Dim m As Match
Dim JpgFile As String

r = New Regex("http://.+\.jpg")
m = r.Match(html)

If m.Success = False Then
  Else
JpgFile = m.Value
ここで1つずつ保...続きを読む

Aベストアンサー

> URLの文字列はhttp://で始まっていて、終わりは・・・.jpg"
この条件だけ満たすなら、
New Regex("​http://.+​\.jpg")

正規表現の繰り返し指定(*とか+など)はできるだけ長いマッチを
とろうとします。このため、.+ が複数のURLを食ってしまっている
というわけです。
#085 正規表現の落とし穴
http://www.ne.jp/asahi/futohen/sankaku/h085.htm

今回の場合とりあえず正規表現を "http://.+?\.jpg" にすればいいです。
量指定子
http://msdn2.microsoft.com/ja-jp/library/3206d374(vs.80,d=toc).aspx

htmlテキスト丸ごと与えて、その中からすべて取り出したいのなら
Regex.Matchesメソッドを使えば一発でできます。
一つずつ処理するならイテレータを、一度に配列に取り出したいのなら
CopyToメソッドを使えばいいでしょう。

Regex.Matches メソッド (String) (System.Text.RegularExpressions)
http://msdn2.microsoft.com/ja-jp/library/e7sf90t3(VS.80).aspx

> URLの文字列はhttp://で始まっていて、終わりは・・・.jpg"
この条件だけ満たすなら、
New Regex("​http://.+​\.jpg")

正規表現の繰り返し指定(*とか+など)はできるだけ長いマッチを
とろうとします。このため、.+ が複数のURLを食ってしまっている
というわけです。
#085 正規表現の落とし穴
http://www.ne.jp/asahi/futohen/sankaku/h085.htm

今回の場合とりあえず正規表現を "http://.+?\.jpg" にすればいいです。
量指定子
http://msdn2.microsoft.com/ja-jp/library/3206d374(vs.80,d=to...続きを読む

Qvbaの正規表現で、マッチした一部分を抽出したい

accessの正規表現で、マッチした部分の一部を取り出したいと思っています。

秀丸で言えば、
------------------------

文字列 あいうえお
↓↓↓
正規表現 あ(.*)お
置き換え文字 \1
↓↓↓
抽出 いうえ

------------------------
って感じの「¥1」みたいなのがほしいと考えています。

現在、下記のような感じで、対象文字を抽出しています。
ここから、また正規表現でほしい部分を抽出しなければいけないのでしょうか?



【上の例で言えば、「あいうえお」を抽出する関数】

------------------------
Function 抜き出し(ByVal 指定文字列 As String) As String

Dim 正規表現, 一致集団, 一致要素

Set 正規表現 = CreateObject("VBScript.RegExp")

正規表現.Pattern = "購入日時[0-9]{4}年[0-9]{1,2}月[0-9]{1,2}日 [0-9]{1,2}時[0-9]{1,2}分"
正規表現.MultiLine = True

Set 一致集団 = 正規表現.Execute(指定文字列)

For Each 一致要素 In 一致集団

抜き出し = 一致要素.Value
Exit For
Next
End Function
------------------------

これだと、

購入日時2012年1月25日 17時53分

がマッチします。
でもほしいのは、

2012年1月25日 17時53分

の部分だけ。

何かいい方法は無いでしょうか?
よろしくお願いします。

accessの正規表現で、マッチした部分の一部を取り出したいと思っています。

秀丸で言えば、
------------------------

文字列 あいうえお
↓↓↓
正規表現 あ(.*)お
置き換え文字 \1
↓↓↓
抽出 いうえ

------------------------
って感じの「¥1」みたいなのがほしいと考えています。

現在、下記のような感じで、対象文字を抽出しています。
ここから、また正規表現でほしい部分を抽出しなければいけないのでしょうか?



【上の例で言えば、「あいうえお」を抽出する関数】

------------------------
Func...続きを読む

Aベストアンサー

今日を。

正規表現で解決するとすれば次のようになります。

Sub test()
Dim sss As String
sss = "aaaa購入日時2012年1月25日 17時53分bbbbcccc購入日時2012年1月25日 17時53分dddd"
' sss = "aaa"
sss = 抜き出し(sss)
Debug.Print sss
End Sub

Function 抜き出し(ByVal 指定文字列 As String) As String
Dim 正規表現, 一致集団, 一致要素
Set 正規表現 = CreateObject("VBScript.RegExp")
正規表現.Pattern = "購入日時([0-9]{4}年[0-9]{1,2}月[0-9]{1,2}日 [0-9]{1,2}時[0-9]{1,2}分)"
'パターンを括弧で囲む
正規表現.MultiLine = True
Set 一致集団 = 正規表現.Execute(指定文字列)
'正規表現.Global = True を指定していないので、一件だけ抽出する。
Debug.Print 一致集団.Count

If 一致集団.Count > 0 Then
抜き出し = 一致集団(0).SubMatches(0)
'.SubMatches(0) 'Patternを()でククッタ箇所取り出し
End If
End Function


それ以外に、置き換えで、"購入日時"を空白にするとか
Right関数で、4文字を取り除くとか

今日を。

正規表現で解決するとすれば次のようになります。

Sub test()
Dim sss As String
sss = "aaaa購入日時2012年1月25日 17時53分bbbbcccc購入日時2012年1月25日 17時53分dddd"
' sss = "aaa"
sss = 抜き出し(sss)
Debug.Print sss
End Sub

Function 抜き出し(ByVal 指定文字列 As String) As String
Dim 正規表現, 一致集団, 一致要素
Set 正規表現 = CreateObject("VBScript.RegExp")
正規表現.Pattern = "購入日時([0-9]{4}年[0-9]{1,2}月[0-9]{1,2}日 [0-9]{1,2}時[0-9]{1,2}分)"
'パターン...続きを読む

QVB.NETの正規表現の検索を教えてください。

VB.NETの正規表現で文章中(HTMLソース)から番号を抜き取りたいのですが、
先頭の1つだけしか見つけられません。
htmlソース内に
番号:10000
番号:20000
番号:30000
番号:40000
という文字があるので、その後半の10000や20000を取得したいです。
下記のコードで実行すると、10000が4つ出力されてしまいます。
良い方法をご教示頂きたいです。よろしくお願いいたします。

Dim pagedata As String  <---htmlソース
Dim reg As Regex
reg = New Regex("番号:(?<datano>.+)", RegexOptions.Compiled)
Dim DataNo As String
m = reg.Match(pagedata)
While m.Success = True
DataNo = reg.Match(pagedata).Result("${datano}")
m = m.NextMatch()
Console.WriteLine(DataNo)
End While

VB.NETの正規表現で文章中(HTMLソース)から番号を抜き取りたいのですが、
先頭の1つだけしか見つけられません。
htmlソース内に
番号:10000
番号:20000
番号:30000
番号:40000
という文字があるので、その後半の10000や20000を取得したいです。
下記のコードで実行すると、10000が4つ出力されてしまいます。
良い方法をご教示頂きたいです。よろしくお願いいたします。

Dim pagedata As String  <---htmlソース
Dim reg As Regex
reg = New Regex("番号:(?<datano>.+)", RegexOptions.Co...続きを読む

Aベストアンサー

毎回最初の一つしか出てこないというのは#1の方の回答の通りです。

質問にあるプログラム片では mが宣言されていないと思うのですが、
mをMatch型のオブジェクトと宣言したうえで、mに対してNextMatchメソッドの呼び出しを行ってください。

Match.NextMatch メソッド (System.Text.RegularExpressions)
http://msdn2.microsoft.com/ja-jp/library/system.text.regularexpressions.match.nextmatch(VS.80).aspx

あるいはmをMatchCollectionとして宣言し、また、 reg.Matchを reg.Matchesに
変更した上で列挙するかしてください。


Regex.Match メソッド (String) (System.Text.RegularExpressions)
http://msdn2.microsoft.com/ja-jp/library/twcw2f1c(VS.80).aspx

Regex.Matches メソッド (String) (System.Text.RegularExpressions)
http://msdn2.microsoft.com/ja-jp/library/e7sf90t3(VS.80).aspx

毎回最初の一つしか出てこないというのは#1の方の回答の通りです。

質問にあるプログラム片では mが宣言されていないと思うのですが、
mをMatch型のオブジェクトと宣言したうえで、mに対してNextMatchメソッドの呼び出しを行ってください。

Match.NextMatch メソッド (System.Text.RegularExpressions)
http://msdn2.microsoft.com/ja-jp/library/system.text.regularexpressions.match.nextmatch(VS.80).aspx

あるいはmをMatchCollectionとして宣言し、また、 reg.Matchを reg.Matchesに
変更した上...続きを読む


人気Q&Aランキング

おすすめ情報