如何让.net正则表达式从最后一场比赛结束开始搜索?

时间:2014-04-28 13:11:02

标签: regex unityscript

我是Regex的新手。目前我试图从字符串中获取没有空格的符号的所有后果,并在它们结束时获取null。

var pattern:Regex=new Regex("[^ ]+");
    var s:String;
    for(var i:int=0;i<10;++i)//10 is for debugging because otherwise it will never end
    {
        s=pattern.Match("speed movement_vector Rigidbody walk_mode").Value;
        if(!s)
            break;
        Debug.Log(s);
    }

这只能找到&#39; speed&#39;。

In this article我发现G命令恰好在最后一次匹配后发现,即它不能跳过空格键。

此外,我不明白,因为我的模式

var pattern:Regex=new Regex("\G\[^ ]+");

仅引发有关&#34;意外字符G&#34;

的错误

1 个答案:

答案 0 :(得分:1)

原因是因为\是unityscript和regex中的转义字符。要解决此问题,请在第一个之前添加另一个\(第二个应该是不必要的):

var pattern:Regex=new Regex("\\G[^ ]+");