我对正则表达式很新。我想编写一个正则表达式,以便在每个新行之后获取其余部分的TO。我试图使用它,但无法正常工作。 ^到\ n?\ S?[A-ZA-Z0-9] \ N + [A-ZA-Z0-9] 它只能正确地突出显示TO W11,它们都在一行中。仅从第一个数据突出显示TO,第三个数据仅突出显示第一行。基本上它不会读取新行。 我的一些数据如下所示:
TO
EXTERNAL
TRAVERSE
TO W11
TO CONTROL
TRAVERSE
如果有人能帮助我,我将不胜感激。
答案 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”。请务必使用全局修饰符,以便获得所有匹配项,而不仅仅是第一项匹配项。