如何在C#中使用Regex检索选定的文本?我正在寻找与此Perl代码等效的C#代码:$indexVal=0;if($string=~/Index:(\d*)/){$indexVal=$1;} 最佳答案 intindexVal=0;Regexre=newRegex(@"Index:(\d*)")Matchm=re.Match(s)if(m.Success)indexVal=int.TryParse(m.Groups[1].toString());我可能组号不对,但你应该能从这里算出来。 关
是的,我想搜索并替换所有出现的模式,并将它们替换为目标字符串。我正在尝试使用Regex.Replace(src,pattern,target),是否有像\g这样的标志可以放入模式以使其工作,或者什么? 最佳答案 没有\g或全局搜索的概念,因为.NETRegex类默认是全局的。换句话说,假设您已正确编写正则表达式,它应该可以正常工作。您可能想在RegexHero中对其进行测试然后一旦你让它工作,点击顶部的.NET按钮来获取带有正确转义字符串的代码。 关于C#如何使用Regex.replac
我很感激你的帮助,因为我不知道要使用哪个范围的字符,或者我是否在ruby中找到了像[[:cntrl:]]这样的字符类?通过不可打印,我的意思是删除所有未显示在ie输出中的字符,当一个人打印输入字符串时。请注意,我正在寻找c#正则表达式,我的代码没有问题 最佳答案 您可以使用删除所有控制字符和其他不可打印的字符s=Regex.Replace(s,@"\p{C}+",string.Empty);\p{C}Unicode类别类匹配所有控制字符,甚至是ASCII表之外的字符,因为在.NET中,Unicode类别类默认是Unicode识别
我有多个正则表达式匹配项。如何将它们放入一个数组中并分别调用它们,例如ID[0]ID[1]?stringvalue=("{\"ID\":\"([A-Za-z0-9_.,]+)\",");stringID=Regex.Matches(textt,@value);` 最佳答案 你已经可以做到了,因为MatchCollection有一个intindexer这使您可以按索引访问匹配项。这是完全有效的:MatchCollectionmatches=Regex.Matches(textt,@value);MatchfirstMatch=matc
我正在使用几个c#正则表达式清理一些可怕的文本。一个让我难过的问题是文本中有许多'\r\n'字符串,实际字符不是换行符。我试过:content=Regex.Replace(content,"\\r\\n","");和:content=Regex.Replace(content,"\r\n","");但它们都不起作用。最后我不得不使用:content=content.Replace("\\r\\n","\r\n");为了完成项目,但无法在正则表达式中完成它让我很烦。 最佳答案 \r和\n在Regex中也有特殊含义,因此需要对反斜杠进行
我写了这个非常直接的正则表达式代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Text.RegularExpressions;usingSystem.Threading.Tasks;namespaceRegexTest1{classProgram{staticvoidMain(string[]args){stringa="\"foobar123==\"";Regexr=newRegex("^\"(.*)\"$");Matchm=r.Match(a);i
在特定字符串上使用Regex.IsMatch(C#、.Net4.5)时,CPU达到100%。字符串:https://www.facebook.com/CashKingPirates/photos/a.197028616990372.62904.196982426994991/1186500984709792/?type=1&permPage=1图案:^http(s)?://([\w-]+.)+[\w-]+(/[\w-./?%&=])?$完整代码:Regex.IsMatch("https://www.facebook.com/CashKingPirates/photos/a.197028
我一直在寻找如何验证base64字符串并遇到了这个问题。^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$我需要一些帮助来让它允许“==”和“=”。谢谢 最佳答案 这应该表现得非常好。privatestaticreadonlyHashSet_base64Characters=newHashSet(){'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T'
我最近遇到了这段JavaScript代码:if(",>=,,".indexOf(","+sCompOp+",")!=-1)我很感兴趣,因为要编写这个测试我会这样做:if(/(>=|)/.test(sCompOp))这只是风格上的差异,还是其他代码的作者了解一些我不知道的优化知识?或者也许有不同的充分理由这样做,或者不使用正则表达式......?在我看来,为此使用String.indexOf()有点难以阅读(但是,我对正则表达式很满意),但是有没有实例可能比编写等效的正则表达式“更好”?通过可能更快或更有效的“更好”(尽管显然这取决于浏览器的JavaScript引擎)或其他一些我不知道的
我正在尝试转换thislongJSregex到C#。下面的JS代码给出了从["","常","","ニ","","最新","、"开始的数组中的29项"最高"...]varkeywords=/(\ |[a-zA-Z0-9]+\.[a-z]{2,}|[一-龠々〆ヵヶゝ]+|[ぁ-んゝ]+|[ァ-ヴー]+|[a-zA-Z0-9]+|[a-zA-Z0-9]+)/g;varsource='常に最新、最高のモバイル。Androidを開発した同じチームから。';varresult=source.split(keywords);但是下面的C#代码在string[]中给出了一个未拆分的单个项目。