using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"((?<=\[)\w+)|(\w+(?=\=))|((?<=\=)\d+)|((?<=\=)\[\d,\d\])|((?<=\=)\[\d,\d,\d,\d])|(\""[a-zA-Z\._0-9\s]+\"")|(\'[a-zA-Z\._0-9\s]+\')";
string input = @"//完整代码匹配测试
[sprite file=""1.png"" index=2 rect=[0,0,0,0] pos=[0,2]][sprite file='2.png' index=2 rect=[0,0,0,0]] //这是注释 /comment abcdefg
//宏名称单元测试
[bg]
[bg]
[ bg]
//字符串参数值单元测试
=""abc""
=""ABC""
=""_abcABC""
=""_abcABC.png""
=""_abcABC special.png""
//参数名单元测试
[bg index=2]
[bg index=2]
[bg index =2]
//int参数值单元测试
[bg index=54687]
[bg index=1 index2=26764]
//pos_t 4位长度的int数组测试
[bg index=0 pos=[1,2,3,4]]
//匹配坐标型 pos_t指长度为2的整数型数组,分别为横坐标x、纵坐标y
[bg index=0 pos=[0,2]
//abcdd asd [vb ] ";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx