C# 使用字符“-”;在C中#
我在C#中使用VS 2012和RegExp。C# 使用字符“-”;在C中#,c#,regex,C#,Regex,我在C#中使用VS 2012和RegExp。 我有这样一个正则表达式: ^CREATE OR REPLACE PACKAGE ([\w]+).([\w]+) IS 我从文件中读取内容 我对字符- 测试A\u B正常。 Test-A\u B是KO 我试过使用Regex.Escape,但还是错了 单元测试代码: var pattern1 = @"^CREATE OR REPLACE PACKAGE ([\w]+).([\w]+) IS"; var regexPackage = new Regex(
我有这样一个正则表达式:
^CREATE OR REPLACE PACKAGE ([\w]+).([\w]+) IS
我从文件中读取内容
我对字符-
测试A\u B
正常。Test-A\u 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);
var pattern1=@“^CREATE或REPLACE包([\w]+)。([\w]+)是”;
var regexPackage=newregex(pattern1);
var contents=@“创建或替换包ZZZ.Test_A_B IS”;
match1=regexPackage.Match(内容);
Assert.IsTrue(match1.Success);
Assert.arnotequal(0,match1.Groups.Count);
Assert.AreEqual(“Test_A_B”,match1.Groups[2].Value);
contents=@“创建或替换包ZZZ.Test-A_B IS”;
//contents=Regex.Escape(contents);
match1=regexPackage.Match(内容);
Assert.IsTrue(match1.Success) \w
包括字母数字字符和下划线。它不包括破折号
只需将正则表达式中的[\w]+
替换为[-\w]+
即可包含破折号
作为旁注,破折号在字符类中有特殊的含义。它要么是类中的第一个,要么是最后一个,要么用反斜杠转义。\w
包括字母数字字符和下划线。它不包括破折号
只需将正则表达式中的[\w]+
替换为[-\w]+
即可包含破折号
作为旁注,破折号在字符类中有特殊的含义。它要么是类中的第一个,要么是最后一个,要么用反斜杠转义。\w
包括字母数字字符和下划线。它不包括破折号
只需将正则表达式中的[\w]+
替换为[-\w]+
即可包含破折号
作为旁注,破折号在字符类中有特殊的含义。它要么是类中的第一个,要么是最后一个,要么用反斜杠转义。\w
包括字母数字字符和下划线。它不包括破折号
只需将正则表达式中的[\w]+
替换为[-\w]+
即可包含破折号
作为旁注,破折号在字符类中有特殊的含义。它要么是类中的第一个,要么是最后一个,要么用反斜杠转义