2015-04-16 12 views
4

我有一个像下面使用正则表达式查找字符串的字符准确

M10 end 
start M11 
M1 
M1 start 
M n1 
end M1 

我想实现的就是只有“M1”使用正则表达式的结果字符串。

这是我当前的代码

Regex r = new Regex("^M1$|M1$"); 

输出类似于下面一个缺少字符串 “M1开始”

M1 
end M1 
+0

你想让它匹配'start M1 end'吗? – ClickRick

回答

5
Regex r = new Regex("^.*\\bM1\\b.*$"); 

这应该u太强势了demo.Here做\b是仅与M1匹配的字边界,而不是M10

\在单词边界B断言位置(^ \ W | \ W $ | \ W \ W | \ W \ W)

https://regex101.com/r/sJ9gM7/113

1

好吧,如果你想不要过度使用正则表达式,您可以使用

target="M1"; 
if(underTest.IndexOf(target) == 0 && underTest.Lenght == target.Lenght) 
{ 
.... 
} 

使用StringReader分割每一行。

相关问题