当前位置: 代码迷 >> C# >> 正则表达式的好手们麻烦进来看看
  详细解决方案

正则表达式的好手们麻烦进来看看

热度:96   发布时间:2016-05-05 02:46:11.0
正则表达式的高手们麻烦进来看看
A    Active PRE4-RP           YES     IOS        N/A         ONLINE
B    Standby PRE4-RP          YES     IOS        N/A         ONLINE
1    4jacket-1                YES     LCDOS      N/A         ONLINE
1/1  2cable-dtcc              NO      LCDOS      N/A         ONLINE
2/1  2cable-dtcc              NO      LCDOS      N/A         ONLINE
3    4jacket-1                YES     LCDOS      N/A         ONLINE
5/0  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
5/1  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
6/0  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
7/0  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
7/1  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
8/0  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
8/1  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
==== ======================== ======= ========== =========== ==============

我想获取ONLINE这个位置的单词,这个位置的单词有可能是ONLINE或其他,正则表达式可以怎么写啊
我写了一个 \b\w*\b\s+(?<=\r\n),但获取出来的这个位置的单词后面还带有换行符了。。。。
正则表达式可以怎么写使取出来的单词后面没有换行符、空格那些东西
------解决思路----------------------
\b\w+\s*(?=[\n\r]
------解决思路----------------------
$)
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:


@"\w+\s*(?<=[\r\n])"


很可惜不行,我在程序上弄了个  结果+“kkkk” 这样的东西输出的日志
在日志上显示的是:
结果
kkkk

说明还是有换行符之类的


我只知道 在你给出的数据 和 我的正则没有问题 
至于你说的 结果+"kkk" 我不懂



 这是我输出日志的代码:Host.Logger.Debug(match.Value + "kkkkk");


我之前的在测试工具上测的也以为没问题,实际上是有换行符、空格存在的

好吧 被你这么一说 我试了一下 确实有一个 
换成这样吧

Regex.Matches(strText,@"\w+\s*$",RegexOptions.Multiline);


现在的匹配长度是 六个了 不是刚才的7个了
------解决思路----------------------
  string text = @"A    Active PRE4-RP           YES     IOS        N/A         ONLINE
B    Standby PRE4-RP          YES     IOS        N/A         ONLINE
1    4jacket-1                YES     LCDOS      N/A         ONLINE
1/1  2cable-dtcc              NO      LCDOS      N/A         ONLINE
2/1  2cable-dtcc              NO      LCDOS      N/A         ONLINE
3    4jacket-1                YES     LCDOS      N/A         ONLINE
5/0  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
5/1  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
6/0  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
7/0  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
7/1  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE
8/0  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE   
8/1  ubr10k-clc-mc2020v       YES     IOS        N/A         ONLINE";

            var matches = Regex.Matches(text, @"(?<onlineOrOther>\w+?)(?<s>\s*)$", RegexOptions.Multiline);
            foreach (Match match in matches)
            {
                string d = match.Groups["onlineOrOther"].Value;
                if (d.Contains("\r") 
------解决思路----------------------
 d.Contains("\n") 
------解决思路----------------------
 d.Contains(" "))
                    throw new Exception();
            }


代码已经测试通过。