Tag: 正则表达式

解析格式化的字符串

我正在尝试创建一个通用的格式化程序/解析器组合。 示例场景: 我有一个字符串string.Format(),例如var format = “{0}-{1}” 我有一个输入的对象(字符串)数组,例如var arr = new[] { “asdf”, “qwer” } 我使用格式字符串格式化数组,例如var res = string.Format(format, arr) 我想要做的是将格式化的字符串恢复回对象数组(字符串)。 像(伪代码)的东西: var arr2 = string.Unformat(format, res) // when: res = “asdf-qwer” // arr2 should be equal to arr 有没有经验做过这样的事情? 我正在考虑使用正则表达式(修改原始格式字符串,然后将其传递给Regex.Matches以获取数组)并为格式字符串中的每个占位符运行它。 这是可行的还是还有其他更有效的解决方案?

更换字符串中的多个字符,最快的方法是什么?

我正在导入一些包含多个string字段的记录,从旧数据库到新数据库。 它看起来很慢,我怀疑是因为我这样做: foreach (var oldObj in oldDB) { NewObject newObj = new NewObject(); newObj.Name = oldObj.Name.Trim().Replace(‘^’, ‘Č’).Replace(‘@’, ‘Ž’).Replace(‘[‘, ‘Š’) .Replace(‘]’, ‘Ć’).Replace(‘`’, ‘ž’).Replace(‘}’, ‘ć’) .Replace(‘~’, ‘č’).Replace(‘{‘, ‘š’).Replace(‘\\’, ‘Đ’); newObj.Surname = oldObj.Surname.Trim().Replace(‘^’, ‘Č’).Replace(‘@’, ‘Ž’).Replace(‘[‘, ‘Š’) .Replace(‘]’, ‘Ć’).Replace(‘`’, ‘ž’).Replace(‘}’, ‘ć’) .Replace(‘~’, ‘č’).Replace(‘{‘, ‘š’).Replace(‘\\’, ‘Đ’); newObj.Address = oldObj.Address.Trim().Replace(‘^’, ‘Č’).Replace(‘@’, ‘Ž’).Replace(‘[‘, ‘Š’) .Replace(‘]’, ‘Ć’).Replace(‘`’, ‘ž’).Replace(‘}’, ‘ć’) .Replace(‘~’, ‘č’).Replace(‘{‘, ‘š’).Replace(‘\\’, ‘Đ’); […]

正则表达式替换多个组

我想使用正则表达式来替换具有相应替换字符串的多个组。 更换表: & – > __amp # – > __hsh 1 – > 5 5 – > 6 例如,对于以下输入字符串 a1asda&FJ#ahdk5adfls 相应的输出字符串是 a5asda__ampfj__hshahdk6adfls 有没有办法做到这一点?

用于检查字符串是否以某个子字符串开头的正则表达式模式?

什么是正则表达式来检查字符串是以“mailto”,“ftp”还是“joe”开头还是…… 现在我正在使用C#和类似的代码在一个很大的o中: String.StartsWith(“mailto:”) String.StartsWith(“ftp”) 看起来像正则表达式会更好。 或者我在这里缺少一种C#方式?

如何获取正则表达式来检查字符串是否只包含字母字符或?

我正在尝试创建一个正则表达式来validation给定的字符串只有字母az或AZ。 该字符串最长可达25个字母。 (我不确定正则表达式是否可以检查字符串的长度) 例子: 1. “abcdef” = true; 2. “a2bdef” = false ; 3. “333” = false; 4. “j” = true; 5. “aaaaaaaaaaaaaaaaaaaaaaaaaa” = false; // 26封信 这是我到目前为止所做的……虽然无法弄清楚它有什么问题 Regex alphaPattern = new Regex(“[^az]|[^AZ]”); 我认为这意味着字符串只能包含来自az的大写或小写字母,但是当我将它与所有字母的字符串匹配时,它返回false … 此外,任何有关使用正则表达式与其他validation方法的效率的建议将非常感激。

如何在C#中读取RegEx捕获

我开始写一本C#书,我决定把RegEx放到混音中,让枯燥的控制台练习更有趣。 我想要做的是在控制台中询问用户他们的电话号码,根据RegEx进行检查,然后捕获数字,以便我可以按照我想要的方式对其进行格式化。 除了RegEx捕获部分之外,我已经完成了所有工作。 如何将捕获值转换为C#变量? 也可以随意更正任何代码格式或变量命名问题。 static void askPhoneNumber() { String pattern = @”[(]?(\d{3})[)]?[ -.]?(\d{3})[ -.]?(\d{4})”; System.Console.WriteLine(“What is your phone number?”); String phoneNumber = Console.ReadLine(); while (!Regex.IsMatch(phoneNumber, pattern)) { Console.WriteLine(“Bad Input”); phoneNumber = Console.ReadLine(); } Match match = Regex.Match(phoneNumber, pattern); Capture capture = match.Groups.Captures; System.Console.WriteLine(capture[1].Value + “-” + capture[2].Value + “-” + capture[3].Value); }

正则表达式以validation有效时间

有人可以帮我构建一个正则表达式来validation时间吗? 有效值为0:00至23:59。 当时间小于10:00时,它也应该支持一个字符数 即:这些是有效值: 9:00 09:00 谢谢

正则表达货币

我有asp:TextBox保持金钱价值,即’1000’,’1000,0’和’1000,00’(逗号是俄罗斯标准的分隔符)。 ValidationExpression有什么用于适当的asp:RegularExpressionValidator ? 我试过\d+\,\d{0,2}但它不允许没有十进制数字的数字,例如只是’1000’。

正则表达式解析C#源代码以查找所有字符串

我很久以前就问过这个问题,我希望我已经阅读过如何在C#(或Java,C ++等)中不使用Regex的答案! 我希望使用Regex(正则表达式)来获取C#源代码中所有字符串的列表,包括嵌入了双引号的字符串。 这应该不难,但是在我花时间尝试构建正则表达式之前,是否有人已经拥有“预制”的表达式? 这并不像第一次那样容易 “AV \” d” @“A B C D” @” AB””” @””” AB” 等等

正则表达式:重复捕获组

我必须从ASCII文本文件中解析一些表。 这是一个部分样本: QSMDRYCELL 11.00 11.10 11.00 11.00 -.90 11 11000 1.212 RECKITTBEN 192.50 209.00 192.50 201.80 5.21 34 2850 5.707 RUPALIINS 150.00 159.00 150.00 156.25 6.29 4 80 .125 SALAMCRST 164.00 164.75 163.00 163.25 -.45 80 8250 13.505 SINGERBD 779.75 779.75 770.00 773.00 -.89 8 95 .735 SONARBAINS 68.00 69.00 67.50 68.00 .74 11 3050 […]