再发一贴,求一个比较难的正则,但是我没什么分了,请见谅. 本帖最后由 LoveCcav 于 2010-10-12 13:47:53 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如说 有个表情的符号代码是 ":)" , 在这个字符串的前后, 都有一个 ASCII码为 29的字符 ASCII码为 29的字符 是什么? 把我在1楼发的那个字符串, 复制到记事本里面, 看能够看到了, 也可以粘贴到VS里面, 只不过不会显示出来, 比如:string s = "(cash)(flex)";byte[] b= Encoding.Unicode.GetBytes(s);看看第12个就知道了. 如果29是十六进制(?is)\x29.+?\x29如果29是十进制(?is)\x1D.+?\x1D 这样?string test = ":|:*:P sdfsf(blush)sf:^)测试一不念旧jkdsflk |-)sdfdf|-(safd(inlove)";Regex reg = new Regex(@"\x1D.*?\x1D");MatchCollection mc = reg.Matches(test);foreach (Match m in mc){ richTextBox2.Text += m.Value + "\n";}/*-----输出-------:|:P sdfsfsf:^)|-(*/ 没有考虑到两个表情连续的情况 , 仔细看了一下, 两个表情代码如果连接,他们之间只有一个 Ascii为29的字符,比如: "测试(wait)(happy)再测试一下8-|"测试代码: string test = "测试(wait)(happy)再测试一下8-|";Regex reg = new Regex(@"\x1D.*?\x1D");MatchCollection mc = reg.Matches(test);foreach (Match m in mc){ Console.WriteLine(m.Value);}输出的是 "(wait)", "再测试一下", 而实际上想得到的结果是: "(wait)", "(happy)", "8-|", 高手们再帮忙看看.谢谢. 这样是否可行?(?<=\x1D)[^\u4e00-\u9fa5]+?(?=\x1D) 或者这样:(?<=\x1D)(?![\u4e00-\u9fa5]{2,}).*?(?=\x1D) 如何编写“设置快捷键”的功能? 为什么这样写命名空间 数组排序问题!!! 弱弱的问下vs2008 做好的项目发布后要不要在要使用的机器上装数据库呢 SplitContainer 中 Panel2 部分的闪动 C# 调用 VC++的DLL是结构指针问题,求助 VS .NET2003里的C#连接ORACLE805问题 c#从内存中运行一个vb程序exe ? 错误的完全描述,希望大家帮忙,1935错误 为什么datagridview加载速度那么慢?如何才能快些? 关于图片显示的权限问题 C# 调用进程中的命令
比如说 有个表情的符号代码是 ":)" , 在这个字符串的前后, 都有一个 ASCII码为 29的字符
把我在1楼发的那个字符串, 复制到记事本里面, 看能够看到了, 也可以粘贴到VS里面, 只不过不会显示出来, 比如:
string s = "(cash)(flex)";
byte[] b= Encoding.Unicode.GetBytes(s);看看第12个就知道了.
(?is)\x29.+?\x29
如果29是十进制
(?is)\x1D.+?\x1D
Regex reg = new Regex(@"\x1D.*?\x1D");
MatchCollection mc = reg.Matches(test);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}
/*-----输出-------
:|
:P sdfsf
sf:^)
|-(
*/
比如: "测试(wait)(happy)再测试一下8-|"测试代码:
string test = "测试(wait)(happy)再测试一下8-|";
Regex reg = new Regex(@"\x1D.*?\x1D");
MatchCollection mc = reg.Matches(test);
foreach (Match m in mc)
{
Console.WriteLine(m.Value);
}输出的是 "(wait)", "再测试一下", 而实际上想得到的结果是: "(wait)", "(happy)", "8-|", 高手们再帮忙看看.谢谢.
(?<=\x1D)[^\u4e00-\u9fa5]+?(?=\x1D)