-4

このxml属性の整数値を取得したいlimit=\"25\"

私はこれを試しましMatch match = Regex.Match(response.Content, "(?<=limit=))\\d+"); た:エラーが表示されます:「)が多すぎます。

and this : Match match = Regex.Match(response.Content, @"limit=([0-9])$" this は何も返さず、一致は成功しません

このxmlから:

<issues type="array" limit="25" total_count="251" offset="0">
<issue>
<id>4317</id>
4

3 に答える 3

1

最初の正規表現に ) が多すぎます。それらを数える。

属性値が引用符で囲まれているため、2番目は失敗しています。"limit=\"([0-9])\"$"代わりに試してください。

代わりに XML パーサーを使用するように多くの人が言うでしょう。XML 自体は正規表現で解析できないため、よく知られている XML から非常に小さなデータを抽出する以上のことを行う場合は、この方法を強くお勧めします。

于 2012-11-23T15:29:01.363 に答える
1

RegexXMLは形式が厳密であるため、XML の解析に使用できますが、使用することはお勧めしません

使用するLINQ2XML

XElement doc=XElement.Parse(response.Content);       
var value=doc.Attribute("limit").Value;

また

var value=Regex.Match(response.Content, @"limit=""(\d+)""",RegexOptions.Singleline).Groups[1].Value;
于 2012-11-23T15:30:45.123 に答える
-1

使ったほうがいい

string TheStringNeededToBeParsed = "... xml ";

TheStringNeededToBeParsed .IndexOf(...

于 2012-11-23T15:57:46.280 に答える