111,129
社区成员
发帖
与我相关
我的任务
分享
string a=@"{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fmodern\fprq6\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fnil ;}{\f2\fnil\fcharset134 \'b7\'bd\'d5\'fd\'d2\'a6\'cc\'e5;}{\f3\fnil\fcharset134 \'b7\'bd\'d5\'fd\'ca\'e6\'cc\'e5;}{\f4\fnil\fcharset134 \'bf\'ac\'cc\'e5_GB2312;}{\f5\fnil\fcharset134 \'c1\'a5\'ca\'e9;}{\f6\fnil\fcharset134 \'ba\'da\'cc\'e5;}{\f7\fswiss\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue0;\red0\green255\blue255;\red0\green0\blue255;\red138\green43\blue226;\red165\green42\blue42;\red169\green169\blue169;\red255\green0\blue0;\red0\green255\blue0;\red255\green255\blue0;}
\viewkind4\uc1\pard
\cf1\lang2052\f0\fs30 aaaaaaaaaa \par
\cf2\f2\fs40 bbbbbbbbbbbbb \par
\cf3\f3\fs50 cccccccccc \par
\cf4\f4\fs60 ddddddddddd \par
\cf5\f5\fs70 eeeeeeeeee \par
\cf6\f6\fs80 ffffffffffffffffffff \par
\cf6\f6 \par
}"
Regex reg2 = new Regex(@"(?<=\\cf[^ ]+\s+)\S+(?=\s*\\par|})", RegexOptions.Compiled); private static void TestRegex22()
{
string a = @"{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fmodern\fprq6\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fnil ;}{\f2\fnil\fcharset134 \'b7\'bd\'d5\'fd\'d2\'a6\'cc\'e5;}{\f3\fnil\fcharset134 \'b7\'bd\'d5\'fd\'ca\'e6\'cc\'e5;}{\f4\fnil\fcharset134 \'bf\'ac\'cc\'e5_GB2312;}{\f5\fnil\fcharset134 \'c1\'a5\'ca\'e9;}{\f6\fnil\fcharset134 \'ba\'da\'cc\'e5;}{\f7\fswiss\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue0;\red0\green255\blue255;\red0\green0\blue255;\red138\green43\blue226;\red165\green42\blue42;\red169\green169\blue169;\red255\green0\blue0;\red0\green255\blue0;\red255\green255\blue0;}
\viewkind4\uc1\pard
\cf1\lang2052\f0\fs30 aaaaaaaaaa \par
\cf2\f2\fs40 bbbbbbbbbbbbb \par
\cf3\f3\fs50 cccccccccc \par
\cf4\f4\fs60 ddddddddddd \par
\cf5\f5\fs70 eeeeeeeeee \par
\cf6\f6\fs80 ffffffffffffffffffff \par
\cf6\f6 \par
}";
Regex reg1 = new Regex(@"\\red[^;]+", RegexOptions.Compiled);
Regex reg2 = new Regex(@"(?<=\\cf[^ ]+\s+)\S+(?=\s*\\par)", RegexOptions.Compiled);
foreach (Match m in reg1.Matches(a))
{
Console.WriteLine(m.Value);
}
Console.WriteLine("--------------神奇的分割线--------------");
foreach (Match m in reg2.Matches(a))
{
Console.WriteLine(m.Value);
}
}
\red0\green0\blue0
\red0\green255\blue255
\red0\green0\blue255
\red138\green43\blue226
\red165\green42\blue42
\red169\green169\blue169
\red255\green0\blue0
\red0\green255\blue0
\red255\green255\blue0
--------------神奇的分割线--------------
aaaaaaaaaa
bbbbbbbbbbbbb
cccccccccc
ddddddddddd
eeeeeeeeee
ffffffffffffffffffff
string a = @"{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fmodern\fprq6\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fnil ;}{\f2\fnil\fcharset134 \'b7\'bd\'d5\'fd\'d2\'a6\'cc\'e5;}{\f3\fnil\fcharset134 \'b7\'bd\'d5\'fd\'ca\'e6\'cc\'e5;}{\f4\fnil\fcharset134 \'bf\'ac\'cc\'e5_GB2312;}{\f5\fnil\fcharset134 \'c1\'a5\'ca\'e9;}{\f6\fnil\fcharset134 \'ba\'da\'cc\'e5;}{\f7\fswiss\fcharset0 Arial;}}
{\colortbl ;\red0\green0\blue0;\red0\green255\blue255;\red0\green0\blue255;\red138\green43\blue226;\red165\green42\blue42;\red169\green169\blue169;\red255\green0\blue0;\red0\green255\blue0;\red255\green255\blue0;}
\viewkind4\uc1\pard
\cf1\lang2052\f0\fs30 aaaaaaaaaa \par
\cf2\f2\fs40 bbbbbbbbbbbbb \par
\cf3\f3\fs50 cccccccccc \par
\cf4\f4\fs60 ddddddddddd \par
\cf5\f5\fs70 eeeeeeeeee \par
\cf6\f6\fs80 ffffffffffffffffffff \par
\cf6\f6 \par
}";
Regex reg = new Regex(@"\\red\d+\\green\d+\\blue\d+");
foreach (Match m in reg.Matches(a))
Console.WriteLine(m.Value);