0
我使用VS 2012和正則表達式在C#。
我有一個正則表達式是這樣的:正則表達式「 - 」在C#中
^CREATE OR REPLACE PACKAGE ([\w]+).([\w]+) IS
我從文件中讀取contents
。
我有性格的煩惱-
Test_A_B
被確定。
Test-A_B
是KO。
我嘗試使用Regex.Escape
,但它仍然是錯誤的。
單元測試代碼:
var pattern1 = @"^CREATE OR REPLACE PACKAGE ([\w]+).([\w]+) IS";
var regexPackage = new Regex(pattern1);
var contents = @"CREATE OR REPLACE PACKAGE ZZZ.Test_A_B IS";
match1 = regexPackage.Match(contents);
Assert.IsTrue(match1.Success);
Assert.AreNotEqual(0, match1.Groups.Count);
Assert.AreEqual("Test_A_B", match1.Groups[2].Value);
contents = @"CREATE OR REPLACE PACKAGE ZZZ.Test-A_B IS";
//contents = Regex.Escape(contents);
match1 = regexPackage.Match(contents);
Assert.IsTrue(match1.Success); <===== FAILS
Assert.AreNotEqual(0, match1.Groups.Count);
Assert.AreEqual("Test-A_B", match1.Groups[2].Value);
有什麼建議?