如何使用C#的正则表达式匹配行的开头或结尾?

Mai*_*oID 19 .net c# regex

我正在尝试匹配这个表达式:

^COMA1TA2000,.*$
Run Code Online (Sandbox Code Playgroud)

用这个文字:

# Qualquer linha iniciada por # será ignorada
# Caracteres que não podem serem usados na nomenclatura das copiadoras ou modelos.
# & < > " '
COMA1TA2000,ta-2000,hd,COMB1
#COMA2TA2000,ta-2000,hd,COMB2
#COMA3TA2000,ta-2000,hd,COMB3
Run Code Online (Sandbox Code Playgroud)

我可以使用Notepad ++来做到这一点,但我不能使用C#Regex类.

content = sr.ReadToEnd();
string pattern =  "^COMA1TA2000,.*$";
if(Regex.IsMatch(content, pattern))
System.Windows.Forms.MessageBox.Show("Test");
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Qta*_*tax 28

您可以这样使用RegexOptions.Multiline:

Regex.IsMatch(content, pattern, RegexOptions.Multiline)
Run Code Online (Sandbox Code Playgroud)

文档:http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regexoptions.aspx

如果RegexOptions.Multiline没有设置,^并且$将匹配开始和结束*字符串,而不是线像预期.


Kir*_*huk 13

或者在正则表达式中设置多行选项(?m):(?m)^COMA1TA2000,.*$