using Xunit; namespace Util.Tests.Helpers; /// /// 正则操作测试 /// public class RegexTest { /// /// 测试获取值 /// /// 输入字符串 /// 模式字符串 /// 结果模式字符串 /// 结果 [Theory] [InlineData( "", "", "", "" )] [InlineData( "123", "a", "", "" )] [InlineData( "123", @"\d", "", "1" )] [InlineData( "123abc456", @"\d+([a-z]+\d+)", "$1", "abc456" )] [InlineData( "123abc456", @"\d+([a-z]\d+)", "$1", "" )] public void TestGetValue( string input, string pattern,string resultPattern, string result ) { Assert.Equal( result, Util.Helpers.Regex.GetValue( input, pattern, resultPattern ) ); } /// /// 测试获取值集合 /// [Fact] public void TestGetValues() { Assert.Empty( Util.Helpers.Regex.GetValues( "", "",null ) ); Assert.Empty( Util.Helpers.Regex.GetValues( "123abc456", @"\d{5}",new []{"$1"} ) ); Assert.Equal( "123", Util.Helpers.Regex.GetValues( "123abc456", @"(\d*)", new[] { "$1" } )["$1"] ); Assert.Equal( "abc", Util.Helpers.Regex.GetValues( "123abc456", @"\d*([a-z]*)\d*", new[] { "$1" } )["$1"] ); Assert.Equal( "123", Util.Helpers.Regex.GetValues( "123abc456", @"(\d*)([a-z]*)(\d*)", new[] { "$1", "$2", "$3" } )["$1"] ); Assert.Equal( "abc", Util.Helpers.Regex.GetValues( "123abc456", @"(\d*)([a-z]*)(\d*)", new[] { "$1", "$2", "$3" } )["$2"] ); Assert.Equal( "456", Util.Helpers.Regex.GetValues( "123abc456", @"(\d*)([a-z]*)(\d*)", new[] { "$1", "$2", "$3" } )["$3"] ); } }