遍历正则表达式匹配遍历、正则表达式

由网友(嘴角上扬)分享简介:这是我的源字符串:<中> 3;><表>< 1><座椅>< 8'这是我的正则表达式百通:<(<项目> \ W +?)><(?< COUNT>?\ d +)>这是我的Item类类项目{字符串名称;诠释计数;//...

这是我的源字符串:

 <中> 3;>
<表>< 1>
<座椅>< 8'
 

这是我的正则表达式百通:

 <(<项目>  W +?)><(?< COUNT>? d +)>
 
js学习笔记10 正则表达式

这是我的Item类

 类项目
{
    字符串名称;
    诠释计数;
    //(...)
}
 

这是我的项目集合;

 名单,其中,项目>订单系统=新名单(项目);
 

我想填充该列表基于源字符串项目的。 这是我的职责。它不工作。

 正则表达式ItemRegex ​​=新的正则表达式(@<?(小于项目>  W +)><?(小于计数>? d +)>中, RegexOptions.Compiled);
            的foreach(比赛ItemMatch在ItemRegex.Matches(sourceString))
            {
                项目临时=新的项目(ItemMatch.Groups [项]的ToString(),int.Parse(ItemMatch.Groups [伯爵]的ToString()));
                OrderList.Add(临时);
            }
 

Threre可能会像缺失的字母一些小失误就这个例子中,因为这是我在我的应用程序更简单的版本。

现在的问题是,到底我只有一个项目在订单系统。

更新

我得到它的工作。 Thans寻求帮助。

解决方案

 类节目
{
    静态无效的主要(字串[] args)
    {
        字符串sourceString = @<中> 3;>
<表>< 1>
<座椅>< 8>中;
        正则表达式ItemRegex ​​=新的正则表达式(@<(<项目>  W +)><(< COUNT>? d +)>中,RegexOptions.Compiled);
        的foreach(比赛ItemMatch在ItemRegex.Matches(sourceString))
        {
            Console.WriteLine(ItemMatch);
        }

        到Console.ReadLine();
    }
}
 

返回3场比赛对我来说。你的问题一定在别处。

This is my source string:

<box><3>
<table><1>
<chair><8>

This is my Regex Patern:

<(?<item>w+?)><(?<count>d+?)>

This is my Item class

class Item
{
    string Name;
    int count;
    //(...)
}

This is my Item Collection;

List<Item> OrderList = new List(Item);

I want to populate that list with Item's based on source string. This is my function. It's not working.

Regex ItemRegex = new Regex(@"<(?<item>w+?)><(?<count>d+?)>", RegexOptions.Compiled);
            foreach (Match ItemMatch in ItemRegex.Matches(sourceString))
            {
                Item temp = new Item(ItemMatch.Groups["item"].ToString(), int.Parse(ItemMatch.Groups["count"].ToString()));
                OrderList.Add(temp);
            }

Threre might be some small mistakes like missing letter it this example because this is easier version of what I have in my app.

The problem is that In the end I have only one Item in OrderList.

UPDATE

I got it working. Thans for help.

解决方案

class Program
{
    static void Main(string[] args)
    {
        string sourceString = @"<box><3>
<table><1>
<chair><8>";
        Regex ItemRegex = new Regex(@"<(?<item>w+?)><(?<count>d+?)>", RegexOptions.Compiled);
        foreach (Match ItemMatch in ItemRegex.Matches(sourceString))
        {
            Console.WriteLine(ItemMatch);
        }

        Console.ReadLine();
    }
}

Returns 3 matches for me. Your problem must be elsewhere.

阅读全文

相关推荐

最新文章