以TO开头的短语的正则表达式

时间:2013-12-10 18:19:10

标签: regex

我对正则表达式很新。我想编写一个正则表达式,以便在每个新行之后获取其余部分的TO。我试图使用它,但无法正常工作。 ^到\ n?\ S?[A-ZA-Z0-9] \ N + [A-ZA-Z0-9] 它只能正确地突出显示TO W11,它们都在一行中。仅从第一个数据突出显示TO,第三个数据仅突出显示第一行。基本上它不会读取新行。 我的一些数据如下所示:

 TO
 EXTERNAL
 TRAVERSE

 TO W11

 TO CONTROL
 TRAVERSE

如果有人能帮助我,我将不胜感激。

2 个答案:

答案 0 :(得分:1)

确保使用多行正则表达式:

var options = RegexOptions.MultiLine;

foreach (Match match in Regex.Matches(input, pattern, options))
...

更多信息:http://msdn.microsoft.com/en-us/library/yd1hzczs(v=vs.110).aspx

答案 1 :(得分:0)

看起来您的模式不匹配,因为字符串的开头实际上是空格而不是T字符。此外,[A-Za-z0-9]只匹配一个字符,您想要整个单词。我使用+来表示我想要这些字符的一个或多个匹配。

(TO\n?\s?[A-Za-z0-9]+)

此正则表达式匹配“TO EXTERNAL”,“TO W11”和“TO CONTROL”。请务必使用全局修饰符,以便获得所有匹配项,而不仅仅是第一项匹配项。