19402


`new Regex`()内をstring型にしてメソッドにして投げるとエラーが返されました。

通常

[code]

    string source ="<!DOCTYPE html><html lang~~~";
    
    Regex reg = new Regex("http://panda.com/(\\d\\d\d\d\\d|\\d\\d\\d\\d\\d)",
        RegexOptions.IgnoreCase | RegexOptions.Singleline);
    
    Match match = reg.Match(source);
    
    if (match.Success)
        textBox8.Text = match.Groups[0].Value.Trim();
    
[/code]

失敗例

[code]

    private void Tikan(string source, string tikan){
        Regex reg = new Regex(tikan,
        RegexOptions.IgnoreCase | RegexOptions.Singleline);
    
        Match match = reg.Match(source);
    
        if (match.Success)
        textBox8.Text = match.Groups[0].Value.Trim();
    }
    
[/code]

また、できれば\d\d\dなどではなく、桁制限の無い連続する半角数字としたいです。


CC BY-SA 3.0
2015-11-28T06:19:01.020
19397
2015-11-28T06:49:07.613
7973
question
c#
置換対象文字列をメソッドで渡す方法


正規表現で`\d`など特定のパターンの繰り返しとマッチしたい場合は以下の量指定子を付加します。

  * 0回以上 … `\d*`
  * 1回以上 … `\d+`
  * _n_ 回以上 _m_ 回以下 … `\d{n,m}`
  * _n_ 回以上 … `\d{n,}`
  * _m_ 回以下 … `\d{,m}`

なお上記の`\d`の部分は任意の文字や`[]`、`()`などに変更できます。


CC BY-SA 3.0
2015-11-28T06:49:07.613
19402
2015-11-28T06:49:07.613
5750
19397
answer