Tag: regex

如何从UNC中提取服务器名称

有人能告诉我如何从UNC中提取服务器名称吗? 恩。 //服务器/目录/目录 编辑:我道歉但看起来我需要澄清一个错误:路径实际上更像是: //服务器/ d $ /目录 我知道这可能会改变一些事情

解析大字符串的最快方法(multithreading)

我即将开始一个项目,它将获取文本块,将大量数据解析为某种对象,然后可以对其进行序列化,存储和统计/数据收集。 这需要尽可能快,因为我需要启动超过10,000,000个文本块,并且每天将获得100,000个成千上万的文本。 我在具有12个核心+超线程的系统上运行它。 我也可以访问/了解CUDA编程,但对于字符串的东西认为它不合适。 从每个字符串我需要解析大量的数据,其中一些我知道确切的位置,有些我不知道,需要使用正则表达式/智能的东西。 所以考虑这样的事情: object[] parseAll (string [] stringsToParse) { parallel foreach parse( string[n] ) } object parse(string s) { try to use exact positions / substring etc here instead of regex’s } 所以我的问题是: 使用正则表达式来减少多少速度。 .NET会比其他语言慢得多吗? 我可以做什么样的优化(如果有的话)来最大化并行性。 还有什么我还没考虑过吗? 谢谢你的帮助! 对不起,如果这是漫长的啰嗦。

C#正则表达式匹配字母,数字和下划线

我试图在C#中创建一个正则表达式模式。 该模式只允许: 信 数字 下划线 到目前为止我运气不好(我不擅长RegEx)。 这是我到目前为止所尝试的: // Create the regular expression string pattern = @”\w+_”; Regex regex = new Regex(pattern); // Compare a string against the regular expression return regex.IsMatch(stringToTest);

在C#中使用正则表达式匹配^ nb ^ nc ^ n(例如“aaabbbccc”)

您可以轻松使用正则表达式来validation常规语言。 我的问题是你可以用它来validation上下文敏感的语言吗? 现代正则表达式在层次结构中有多强大? 您将如何创建一个检查与^ nb ^ nc ^ n匹配的字符串的正则表达式? 以下情况应符合: abc aabbcc aaabbbccc 以下情况不符合: abbc aabbc aabbbccc

我可以在j#中将json反序列化为匿名类型吗?

我从DB读了一个很长的json。 我只想要那个json的一个属性。 我有两个选择:a。 为该json创建一个接口并反序列化到该接口。 (因为我只需要一个属性,这是一种矫枉过正吗?)b。 找到我需要的子串(正则表达式?) 哪个是首选? 更新:我正在使用.net 3.5

查找两个字符串之间的所有子字符串

我需要从字符串中获取所有子字符串。 例如: StringParser.GetSubstrings(“[start]aaaaaa[end] wwwww [start]cccccc[end]”, “[start]”, “[end]”); 返回2个字符串“aaaaaa”和“cccccc”假设我们只有一个级别的嵌套。 不确定regexp,但我认为它会有用。

RegEx,StringBuilder和大对象堆碎片

如何在不引起LOH碎片的情况下在大字符串中运行大量RegExes(以查找匹配项)? 它是.NET Framework 4.0所以我使用StringBuilder所以它不在LOH中,但是一旦我需要在它上面运行RegEx,我必须调用StringBuilder.ToString() ,这意味着它将在LOH中。 有没有解决这个问题的方法? 拥有一个长期运行的应用程序几乎不可能处理大字符串和像这样的RegExes。 解决这个问题的想法: 在考虑这个问题时,我想我发现了一个肮脏的解决方案。 在给定的时间我只有5个字符串,这5个字符串(大于85KB)将传递给RegEx.Match 。 由于碎片发生是因为新对象不适合LOH中的空白空间,这应该可以解决问题: PadRight所有字符串最多。 接受大小,比方说1024KB(我可能需要用StringBuider来做这个) 通过这样做,所有新字符串将适合已经清空的内存,因为先前的字符串已经超出范围 不会有任何碎片,因为对象大小总是相同的,因此我只会在给定时间分配1024 * 5,并且LOH中的这些空间将在这些字符串之间共享。 我想这个设计的最大问题是如果其他大对象在LOH中分配这个位置会导致应用程序分配大量1024 KB字符串,甚至更糟糕的碎片。 但是,如果没有实际创建一个不在固定内存地址中的新字符串,我怎样才能将固定字符串发送到RegEx? 关于这个理论的任何想法? (不幸的是我无法轻易地重现问题,我通常会尝试使用内存分析器来观察更改,并且不确定我可以为此编写哪种隔离测试用例)

如何使用C#将所有特殊字符替换为字符串

我想用comma (,)替换字符串中的所有特殊字符。 例如: Hello@Hello&Hello(Hello) 输出 – Hello,Hello,Hello,Hello, (我不知道如何在C#中使用regexp) 我可以在C#中使用regexp来完成这项工作吗?

正则表达式匹配双引号外的单引号

注意 : 左双引号(“)=&ldquo 右双引号(“)=&rdquo 左单引号(’)=&lsquo 我目前的正则表达是这样的 (?<!.*&ldquo.*)&lsquo 它符合这里的&lsquo(这是正确的): &ldquoThis is a sample&rdquo &lsquosample text 它也匹配这里的&lsquo(我不想发生因为单引号在左右双引号内): &ldquoThis &lsquois a sample&rdquo 如何编写一个匹配左右引文内的每个&nsquo的正则表达式 感谢你的帮助!

仅在XML中替换属性中的双引号:C#

我有这个字符串,它将成为XML / XML节点的一部分: string a = “”; 我只需要转义属性引号,以便它成为 a= “Node a=\”a&qout;[&qout;\”/>”; 我正在使用C#,.NET 2.0。