using System; using System.Text.RegularExpressions;class Program { static void Main() { string s = @"var h#ID#='90'; var w#ID#='960'; var a#ID#='xxxxxxxxxxx'"; // 这就你是你要的字符串数组: string[] a = Regex.Replace(s, @"[^']*'([^']*)'[^']*", "$1|").Trim('|').Split('|'); // 输出来看看: foreach (string t in a) { Console.WriteLine("[{0}]", t); } } } /* 输出: [90] [960] [xxxxxxxxxxx] */
Regex reg=new Regex (@"(?<=\')[^\']*(?=\')");
MessageBox.Show(reg.Match(str).Value);
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
string str="var h#ID#='90'"; Regex reg=new Regex (@"(?<=\')[^\']*(?=\')"); MessageBox.Show(reg.Match(str).Value);
如果有这个匹配,一次只能匹配出一个来,我现在是想通过一个表达式,一次性把var h#ID#='90';
var w#ID#='960';
var a#ID#='xxxxxxxxxxx' 中的90 960 xxxxxxxx一次都取出来,比如都取出来放到数组中,谢谢
using System.Text.RegularExpressions;class Program
{
static void Main()
{
string s = @"var h#ID#='90';
var w#ID#='960';
var a#ID#='xxxxxxxxxxx'"; // 这就你是你要的字符串数组:
string[] a = Regex.Replace(s, @"[^']*'([^']*)'[^']*", "$1|").Trim('|').Split('|'); // 输出来看看:
foreach (string t in a)
{
Console.WriteLine("[{0}]", t);
}
}
}
/* 输出:
[90]
[960]
[xxxxxxxxxxx]
*/