草庐IT

c# - 是否可以检查缓存的正则表达式的数量?

Regex.CacheSizePropertyGetsorsetsthemaximumnumberofentriesinthecurrentstaticcacheofcompiledregularexpressions.TheRegexclassmaintainsaninternalcacheofcompiledregularexpressionsusedin>staticmethodcalls.Ifthevaluespecifiedinasetoperationislessthanthecurrent>cachesize,cacheentriesarediscardeduntilth

c# - 检查长度和非字母数字字符的 .NET 正则表达式

我需要正则表达式来验证字符串的最小长度为6,并且它至少包含一个非字母数字字符,例如:"eN%{S$u)"、"h9YI!>4j","{9YI!;4j","eN%{S$usdf)","dfh9YI!>4j","ghffg{9YI!;4j".这个很好用^.*(?=.{6,})(?=.*\\d).*$"但在字符串不包含任何数字的情况下(例如"eN%{S$u)")它不工作。 最佳答案 ^(?=.{6})(.*[^0-9a-zA-Z].*)$我们使用正向预测来确保至少有6个字符。然后我们匹配查找至少一个非字母数字字符的模式([^0-9a-zA-

c# - 如何删除 MatchCollection 中的重复匹配项

在我的MatchCollection中,我得到了相同事物的匹配项。像这样:stringtext=@"matchmatchmatch";RegexR=newRegex("match");MatchCollectionM=R.Matches(text);如何删除重复的匹配项,这是最快的方法吗?这里假设“重复”意味着匹配包含完全相同的字符串。 最佳答案 林克如果您使用的是.Net3.5或更高版本(例如4.7),可以使用linq删除匹配项的重复项。stringdata="abcmatchmatchabc";Console.WriteLine

具有键值的 C# foreach 循环

在PHP中,我可以使用foreach循环,这样我就可以访问键和值,例如:foreach($arrayas$key=>$value)我有以下代码:Regexregex=newRegex(pattern);MatchCollectionmc=regex.Matches(haystack);for(inti=0;imatch=newDictionary();for(intj=0;j在//here我想match.add(key,value)但我不知道如何从GroupCollection中获取key,它在这种情况应该是捕获组的名称。我知道gc["goupName"].Value包含匹配的值。

c# - 在 .NET 正则表达式中高效组合 MatchCollection

在简化示例中,有两个正则表达式,一个区分大小写,另一个不区分大小写。这个想法是有效地创建一个IEnumerable集合(参见下面的“组合”)组合结果。stringtest="abcABC";stringregex="(?a)|(?b)|(?c)]";RegexregNoCase=newRegex(regex,RegexOptions.IgnoreCase);RegexregCase=newRegex(regex);MatchCollectionmatchNoCase=regNoCase.Matches(test);MatchCollectionmatchCase=regCase.Mat

c# - 用于替换除数字之外的所有字符的正则表达式

如果我有一串数据,里面有数字。这种模式是不一致的。我想从字符串中提取所有数字,并且只提取一个定义为允许的字符。我认为RegEx可能是执行此操作的最简单方法。你能提供一个可以做到这一点的正则表达式模式吗,因为我认为正则表达式是巫术,只有正则表达式医学人才知道它是如何工作的例如/"Q1W2EE3R45T"="12345""WWED456J"="456""ABC123"="123""N123"="N123"//Nisanallowedcharacter更新:这是我的代码:vardata=Value.Split(newchar[]{','},StringSplitOptions.RemoveE

c# - 如何去除字符串中重复的字符

我有一个允许用户对照片发表评论的网站。当然,用户会留下如下评论:'OMGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG!!!!!!!!!!!!!!!'或'YOUSUCCCCCCCCCCCCCCCCCKKKKKKKKKKKKKKKKKK'你明白了。基本上,我想通过删除至少大部分多余的重复字符来缩短这些评论。我敢肯定有一种方法可以用Regex来做到这一点……我就是想不通。有什么想法吗? 最佳答案

c# - 如何使用正则表达式匹配引号中的字符串

假设我在文本文件中有以下文本第一个文本“一些文字”"124arandomtxt不应被解析!@“124一些文字”“어떤글”不应解析此文本a"swell我想检索SomeText、124SomeText和어떤글作为匹配的字符串。文本逐行阅读。问题是,如果它在引号内,它也必须匹配外语。更新:我发现了一些奇怪的事情。我正在尝试一些随机的东西,发现:strings="어떤글"Regexregex=newRegex("[^\"]*");MatchCollectionmatches=regex.Matches(s);匹配项的计数=10并且在内部生成了一些空项(解析的文本在索引2中)。这可能是我在执行R

c# - 复杂的字符串拆分

我有一个类似下面的字符串:[Testing.User]|Info:([Testing.Info]|Name:([System.String]|Matt)|Age:([System.Int32]|21))|Description:([System.String]|Thisissomedescription)你可以把它看成这棵树:-[Testing.User]-Info-[Testing.Info]-Name-[System.String]-Matt-Age-[System.Int32]-21-Description-[System.String]-Thisissomedescriptio

c# - 使用正则表达式替换坏词

我正在尝试创建一个坏词过滤方法,我可以在每次插入和更新之前调用它来检查字符串中是否有任何坏词并替换为“[Censored]”。我有一个包含坏词列表的SQL表,我想将它们带回来并将它们添加到列表或字符串数​​组中,然后检查传入的文本字符串,如果发现任何坏词替换它们并返回过滤后的字符串。我为此使用C#。 最佳答案 在不考虑单词边界的情况下进行字符串替换之前,请参阅这篇“clbuttic”(或针对您的情况cl[Censored]ic)文章:http://www.codinghorror.com/blog/2008/10/obscenity