正则表达式搜索空白文本,遇到难点了,求高人指点

xloveme 2014-07-28 04:17:19

我需要找到记事本中所有的【空白文本】,需求同IDE一样,“和” 或 @“和” 组成一个字符串文本,比如记事本内容为:

第一行:""
第二行:@""
第三行:"agasd"
第四行:@"asdgasdg"
第五行:"x\"y\""
第六行:@"abc""abc"

这样一个记事本,本来按自己的想法,只有第一行和第二行是空白文本。
不过,把正则表达式定义为 Regex("@?\"\"") 搜索到的结果却连第五行与第六行也有空白文本了

搜索结果把 第五行的 【"x\"y\】后面的两个【“”】视为空白了;把第六行两个【abc】之间的两个【“”】视为空白了。

请教一下,如何修改正则排除第五行与第六行这种情况?? 谢谢!!!
...全文
324 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
國木國木糯 2014-07-28
  • 打赏
  • 举报
回复
引用 2 楼 xloveme 的回复:
谢谢你的回复,上面的只是举例说明,实际情况下,并不是所有的“”都是首尾字符,有些可能是在中间的。 所以这个表达式就肯定不适用了
     public void Fun()
     {
         StreamReader reader = new StreamReader("test.txt", true);
         string _regex = "^[ ]*@?\"\"[ ]*$";
         string line = null;
         while(( line= reader.ReadLine())!=null)
         {
             if (!Regex.IsMatch(line, _regex))
             {
                 Console.WriteLine(line);
             }
         }
         reader.Close();
     }
这样可以把中间的提取出来,不过纯粹的空白行(不带空双引号的被认为非空行),不知道符不符合你的需求, 要把纯粹空行提取的话加一个或就好了 string _regex = "^[ ]*@?\"\"[ ]*$|^$"
xloveme 2014-07-28
  • 打赏
  • 举报
回复
引用 5 楼 mlqxj35674 的回复:
"@?[""][""] 设为多行模式
你的代码,语法就是错的
mlqxj35674 2014-07-28
  • 打赏
  • 举报
回复
"@?[""][""] 设为多行模式
xloveme 2014-07-28
  • 打赏
  • 举报
回复
题目中的记事本,我只是进行了缩略。 每一行,不一定是“开头也不一定是”结尾。 “”有可能在中间
mlqxj35674 2014-07-28
  • 打赏
  • 举报
回复
Regex(("^@?[""][""]$)"
xloveme 2014-07-28
  • 打赏
  • 举报
回复
谢谢你的回复,上面的只是举例说明,实际情况下,并不是所有的“”都是首尾字符,有些可能是在中间的。 所以这个表达式就肯定不适用了
q107770540 2014-07-28
  • 打赏
  • 举报
回复
Regex("^@?\"\"$")

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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