Я использую VS 2012 и RegExp в C#.
У меня есть регулярное выражение, как это:Регулярное выражение с использованием символа «-» в C#
^CREATE OR REPLACE PACKAGE ([\w]+).([\w]+) IS
Я прочитал contents
из файла.
У меня есть проблемы с характером -
Test_A_B
в норме.
Test-A_B
является KO.
Я пробовал использовать Regex.Escape
, но это все еще неправильно.
Unit код теста:
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);
Любые предложения?