草庐IT

c# - 如何让正则表达式匹配只添加一次到匹配集合中?

我有一个字符串,其中有几个html注释。我需要计算表达式的唯一匹配项。例如,字符串可能是:varteststring="Hithere";我目前使用它来获取匹配项:varregex=newRegex("");varmatches=regex.Matches(teststring);这是3场比赛的结果。但是,我希望只有2个匹配项,因为只有两个唯一匹配项。我知道我可能可以遍历生成的MatchCollection并删除额外的Match,但我希望有一个更优雅的解决方案。澄清:示例字符串大大简化了实际使用的内容。X8或X9很容易出现,字符串中可能每个都有几十个。 最佳

c# - 如何使正则表达式只匹配完全匹配项?

好的,基本上我有一些代码可以通过正则表达式匹配URL。然后它将根据URL匹配的正则表达式调用一些函数。我从不想为一个URL调用多个函数,我希望正则表达式匹配必须是“精确的”例如,对于简单的URL/我使用一个简单的正则表达式/它将匹配/但它也会匹配诸如/foo和/foo/bar。如何在C#/.Net中防止这种部分匹配行为? 最佳答案 使用^匹配字符串的开头,使用$匹配字符串的结尾。例如:^/$匹配/但不匹配/foo。并且^/匹配/foo但不匹配foo/。 关于c#-如何使正则表达式只匹配完

c# - 正则表达式匹配多个字符串

我需要创建一个可以匹配多个字符串的正则表达式。例如,我想找到所有“好”或“好”的实例。我找到了一些例子,但我想出的似乎不起作用:\b(good|great)\w*\b谁能指出我正确的方向?编辑:我应该注意,我不想只匹配整个单词。例如,我可能还想匹配“ood”或“reat”(部分单词)。编辑2:这是一些示例文本:“这是一个非常棒的故事。”我可能想匹配“this”或“really”,或者我可能想匹配“eall”或“reat”。 最佳答案 如果你能保证在你的单词列表中没有保留的正则表达式字符(或者如果你转义它们),你可以只使用这段代码将一

c# - 如何将逗号分隔的电子邮件列表与正则表达式匹配?

尝试使用asp:RegularExpressionValidator验证文本框中的逗号分隔的电子邮件列表,如下所示:当我在http://regexhero.net/tester/测试它时它工作得很好,但它在我的页面上不起作用。这是我的示例输入:test@test.com,test1@test.com我尝试了thispost中的建议,但无法让它工作。附注我不想讨论正确的电子邮件验证 最佳答案 此正则表达式将允许电子邮件在逗号后带有空格。^[\W]*([\w+\-.%]+@[\w\-.]+\.[A-Za-z]{2,4}[\W]*,{1}

c# - 正则表达式以 [ 开始并以 ] 结束

查找以[开头并以]结尾的字符串的正则表达式是什么?在[和]之间的各种字符都可以。 最佳答案 [和]是正则表达式中的特殊字符,需要对它们进行转义。这应该适合你:\[.*?\].*?对任何字符进行非贪婪匹配。非贪婪方面确保您将匹配[abc]而不是[abc]def]。如果要匹配整个字符串,请添加前导^和尾随$,例如abc[def]ghi中完全没有匹配项。 关于c#-正则表达式以[开始并以]结束,我们在StackOverflow上找到一个类似的问题: https://

c# - "00000000000000000000000000000"匹配正则表达式 "^[1-9]|0$"

在.Net4.5中,我发现的结果System.Text.RegularExpressions.Regex.IsMatch("00000000000000000000000000000","^[1-9]|0$")是真的。我期望的结果是错误的。我不知道为什么。你能帮帮我吗?更新:一开始,我在验证正则表达式^-?[1-9]\d*|0$,它用于匹配在互联网上找到的整数,我发现带有多个0匹配正则表达式。 最佳答案 问题是交流发电机的绑定(bind)行为。默认情况下(即不使用分组),包含交流发电机(|)的表达式将匹配交流发电机左侧的值或右侧的值

c# - 我可以使用正则表达式查找 X 的索引吗?

我有一个很大的字符串,想找到第一个出现的X,X是“numberXnumber”……3X3,或者4X9……我如何在C#中执行此操作? 最佳答案 vars="longstring.....24X10.....1X3";varmatch=Regex.Match(s,@"\d+X\d+");if(match.Success){Console.WriteLine(match.Index);//16Console.WriteLine(match.Value);//24X10;}另请查看NextMatch,这是一个方便的函数match=match

c# - 用于 URL 验证的正则表达式

我已经编写了正则表达式来验证URL,它可能是这样的google.comwww.google.comhttp://www.google.comhttps://www.google.com我用过RegexurlRx=newRegex(@"^(http|ftp|https|www)://([\w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&\*\(\)_\-\=\+\\\/\?\.\:\;\'\,]*)?$",RegexOptions.IgnoreCase);它适用于http和https。它不适用于google./com和www.google.com。请帮我解决这

c# - 正则表达式 - 在字符之前匹配模式

我目前正在用C#构建一个玩具组装器(正在阅读TheElementsOfComputingSystems书)。我需要匹配一个非常简单的模式,我认为这是学习一些正则表达式的好时机,但我正在努力!在下面的例子中,我只想匹配'='之前的字母M=AD=MMD=AA=D广告=MAMD=A我想出了以下内容:([A-Z]{1,3})=但是这也匹配我不想要的'='。我也试过:([A-Z^\=]{1,3})=但我仍然遇到同样的问题-它也匹配'='符号。我正在使用thissite测试我的正则表达式。任何帮助将不胜感激。提前谢谢你。 最佳答案 您想要的是所

c# - 亵渎正则表达式不起作用

错误Notenough)'s.正则表达式亵渎字符串"[^!@#$%^&*]*(ahole|anus|ash0le|ash0les|asholes|ass|AssMonkey|Assface|assh0le|assh0lez|asshole|assholes|assholz|asswipe|azzhole|bassterds|bastard|bastards|bastardz|basterds|basterdz|Biatch|bitch|bitches|BlowJob|boffing|butthole|buttwipe|c0ck|c0cks|c0k|CarpetMuncher|cawk|