C#正则获取字符串的问题

php_wsd 2013-04-22 05:23:15
string str = "abcdef";           
string v = @"b(\w+)e";
Regex rg = new Regex(v, RegexOptions.IgnoreCase | RegexOptions.Singleline);
string str2 = "";
//str2 = rg.Match(str).Value;
//MessageBox.Show(str2);
str2 = rg.Match(str).Groups[0].Value.ToString();
MessageBox.Show(str);


功能是这样的:一个字符口串abcdef,我想提取这个字符串中的两种子字符串
1、bcde
2、cd
两种,第一种结果我的正则可以得到,但第二种结果没有得到,不知道哪里错了?
...全文
170 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
php_wsd 2013-04-22
  • 打赏
  • 举报
回复
是的,测试可以了,谢谢
md5e 2013-04-22
  • 打赏
  • 举报
回复

        string str = "abcdef"; 
        string v = @"b(?<txt>\w+)e";
        Regex rg = new Regex(v, RegexOptions.IgnoreCase | RegexOptions.Singleline); 
        string str2 = "";
        str2 = rg.Match(str).Groups["txt"].Value.ToString();
这个意思?
php_wsd 2013-04-22
  • 打赏
  • 举报
回复
这里只是一个测试,如果我想获取b和e之间的字符串cd,正则应该如何写?
bdmh 2013-04-22
  • 打赏
  • 举报
回复
那你就分开来吧,别一块,什么都想要
php_wsd 2013-04-22
  • 打赏
  • 举报
回复
我想通过一个正则表达式,如string v = @"b(\w+)e";(不知道是否正确)来获取b和e之间的两个字符。 因为我发现在获取子字符串的过程中,有时候需要获取两个字符串之间的子字符串,如这里在cd。 有时候需要获取两个字符串,包括头尾两个字符的子字符串,如bcde。
阿记 2013-04-22
  • 打赏
  • 举报
回复
其实不用正则也是可以的,毕竟cd是一个连接的字符串,中间并没有其他的字符,你可以用这个方法来实现
  string xx = "abcdef";
            if (xx.Contains("cd"))
            {
            }
  • 打赏
  • 举报
回复
五笔输入法? 你第二种表达式"",不知道你要匹配什么。 如果要匹配cd str = "cd";

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧