Tag: regex

C#正则表达式 – 获取第二个数字,而不是第一个

我有以下HTML代码: 106.2% 我通过两个阶段获得了这个数字: Regex.Matches(html, “\\s*(.*?)\\s*”, RegexOptions.Singleline); Regex.Match(m.Groups[1].Value, @”-?\d+.\d+”).Value 上面的代码行给了我想要的东西106.2 问题是有时HTML可能会有点不同,如下所示: 106.4% 在最后一种情况下,我只能获得107.2,我想获得106.4是否有一些正则表达技巧可以说,我希望句子中的第二个数字而不是第一个?

正则表达式应该拆分,包含在CSV文件中的双引号之外?

这是样本 “abc”,”abcsds”,”adbc,ds”,”abc” 输出应该是 abc abcsds adbc,ds abc

屏蔽文本框仅接受小数

我正在使用此链接中的技术来屏蔽我的文本框以接受十进制格式的字符串(具有单个句点的数字)。 如何定义TextBox输入限制? 这是我放在面具中的正则表达式: b:Masking.Mask=”^\d+(\.\d{1,2})?$” 由于一些奇怪的原因,它允许我输入数字,但我无法在我的文本框中插入句点。 我也在这里validation了正则表达式,所以正则表达式绝对是正确的。 http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx 可能是什么问题?

如何从XML数据中删除非ascii字符

我有一些XML数据,格式如下。 我的应用程序应该使用XMLReader读取它并对其进行一些处理。 但是,为了实现这一点,我需要删除或替换每行的第一部分,特别是< 。 < ….data…. < ….data….</XML < ….data…. and so on… 在查看SO中的一些post之后我尝试了以下内容但到目前为止没有成功。 任何帮助将不胜感激! private static Regex _invalidXMLChars = new Regex( @”(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x9F\uFEFF\uFFFE\uFFFF]", RegexOptions.Compiled); static string ReplaceHexadecimalSymbols(string txt) { return _invalidXMLChars.Replace(txt, string.Empty); } 注意:我接受了.txt格式的XML数据并尝试在每一行调用该函数,但它不起作用..调用该函数后字符仍然存在。

用特定捕获组上的操作替换正则表达式的所有匹配

我有不同的Xml字符串,可以包含以下格式的一个或多个部分: 47862656 中间的值可以改变。 我想用操纵值替换此元素的所有出现(从BBAN到IBAN是特定的)。 我在XMLModel类中使用属​​性Xml (XML字符串)创建了以下方法: string regexString = “()(?.*?)()”; Regex regex = new Regex(regexString); Match match = regex.Match(Xml); string AcctId = match.Groups[“AcctId”].Value; string IBANizedAcctId = IBANHelper.ConvertBBANToIBAN(AcctId); Xml = Regex.Replace(Xml, regexString, string.Format(“$1{0}$3”, IBANizedAcctId)); 这里的想法是regexString有三个捕获组,我用转换为IBAN的帐号替换中间值(帐号)。 不幸的是,这段代码不起作用:1)它确实捕获了AcctId的值,但它没有正确替换它,因为它丢失了最后一个部分。 2)它将匹配的所有出现替换为第一个中捕获的值,而它应该用捕获的特定值替换每个出现的值。 有没有办法在C#中做到这一点? 如果是这样,有人可以给我一些关于如何做到这一点的指示吗? 任何帮助将不胜感激。

使用C#regex获取两个多字符分隔符之间的最短子串

我有 string text = “aa aa value kk 8718764 aa value1 kk kk kk 5178gkjh aathtkhkk”; 我想获得aa和kk之间的所有文本,预期的结果是: 1 = value 2 = value1 3 = thtkh 我尝试使用”aa(.*?)kk”正则表达式,但我没有得到预期的结果。

C#中只有0到255之间的数字的正则表达式语句

如何仅为0到255之间的数字编写正则表达式语句? 0和255对语句有效。

如何在引号中提取字符串(双引号或单引号)

问题1: 例如, ……“ab’cd”……’ab“cd’…… 它应该分别得到ab’cd和ab”cd 。可能有很多带引号的字符串。 问题2: 以及如何从以下字符串中提取text … text ? text … text text … text text … text abc,def,xyz可以嵌套在 。

正则表达式用尖括号替换方括号

我有一个字符串: [ab=”c” d=”e”]Some multi line text[/a] 现在部分d=”e”是可选的。 我想将这种类型的字符串转换为: Some multi line text b和b的值是不变的,所以我不需要捕捉它们。 我只需要c , e的值和text between the tags并创建一个等效的基于xml的表达式。 那么怎么做呢,因为还有一些可选部分。

正则表达的意图

我已经看到正则表达式@”^[AZ]+[a-zA-Z”-‘\s]*$”用于检查字符串是否是人名,并且具有正则表达式格式中描述的相同问题[ RegularExpression(@“^ [AZ] + [a-zA-Z” – ‘\ s] * $”)] [重复] 。 也就是说, [”-‘]的意图是什么? 由于所有[”-‘] , [‘]和[‘-‘]匹配单撇号, [‘]应该足够, [‘-‘]看起来多余。 但是,我在MSDN和书籍中的几篇文章中看到过这种表达方式,因此它似乎是一种常见的模式。 我认为应该有一个合理的理由包括[‘-‘] 。 对上述问题的评论并未涉及到这一点。 添加 仅供参考,我在Microsoft中添加使用此表达式的文章。 ”在连字符之前是两个连续的单引号但不是双引号。 添加validation 为ASP.NET MVC应用程序创建更复杂的数据模型