日期:2014-05-18  浏览次数:20771 次

【正则表达式】求一个写法。好像应该叫近匹配吧
【正则表达式】求一写法。好像应该叫近匹配

有 123{abc}465{xyz}789
求 获得abc xyz的正则表达式

{.*} 返回{abc}465{xyz}
怎样写能得到{abc}
最好能去掉{},不去掉也行,这个好处理。

------解决方案--------------------
C# code
要去掉花括号的话就:
(?<={).*?(?=})
或
(?<={)[^}]*(?=})

------解决方案--------------------
我是初学者。只是知道普通字符和元字符,不会用。

我只会下面这类型的方法。

string str1 = "123{abc}465{xyz}789";
string str2 = "";
foreach (char ch in str1)
{
if (ch >= 97 && ch <= 123)
{
str2 = str2 + ch;
}
}
string[] s = str2.Split('{');
Console.WriteLine("asd");
for (int i = 1; i < s.Length; i++)//s[0]=null
{
Console.WriteLine(s[i]);
}

LZ或者LSLX的可不可以把正则写全了呀?或者把上面的改成正则?