草庐IT

regex - 如何使用 findstr 提取子字符串

我正在尝试使用Windows命令提取子字符串。我想提取一个看起来像这样的数字:1.2.3.4或更精确的[anyPosInteger.anyPosInteger.anyPosInteger.anyPosInteger]。我以为我是用正则表达式做的。代码如下:setmystring="whatever1.2.3.4whatevertalktothehand"echo%mystring%|findstr/r"[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+">foundstringecho%foundstring%如果“foundstring”是“1.2.3.4”就好了。find

c++ - boost::regex 库中的内存泄漏

我不太喜欢Boost库。我需要它来匹配我在VS2008中编译的遗留C++/MFC项目中的正则表达式。这是一个简短的代码片段://NeedUnicodesupportCStringss;boost::tregexr(L"(.*?)");boost::tmatchwhat;CStringchat_input(L"Hello");if(boost::regex_match(chat_input,what,r))//Memoryleakonthisline{//extract$1asaCString:ss=L"Match";//CString(what[1].first,what.length

regex - 如何使用 powershell 从我的文件名中删除多余的空格?

当我在运行此命令时不小心在文件名中添加了很多空格,我试图删除文件名中(之后的所有内容Dir|Rename-Item-NewName{$_.Name-replace"()",""}在电源外壳中。我想这与没有明确指出“()”字符不是某些表达式的一部分有关,而我没有意识到这一点。我有一大堆示例名称为的文件HowToCraft()[.zip或VideoGame()[.zip每个字母之间有一个空格,每个单词之间有两个空格我现在需要转换成HowToCraft.zipVideoGame.zip一般而言,我对使用正则表达式和PowerShell还是个新手。如果有人可以帮助我使用命令删除单词之间的双倍间

regex - 检查字符串是否可以是 linux 和 windows 上 FS 中的路径

我正在尝试编写一个bash脚本,我必须在其中读取用户输入的字符串。我需要允许此字符串成为可以在linux和windows上适当访问的适当路径(父目录的分支和目标文件或目录)。它是关于目录名和文件名的。我需要它们同时满足linux和windows的要求。我知道在Linux中使用bash4.x(也许4不是决定性的)允许创建包含任何字符的任何名称的文件,但我在访问此类文件时可能会遇到问题。到目前为止,我知道:与linux不同,windows无法访问名称中包含冒号的文件与Windows不同,Linux访问名称中带有感叹号的文件时可能会出现问题windows不允许只包含空格的名称linux和wi

regex - 如何使用 Windows 批处理文件拆分文本文件元素?

我有一个文本文件RECORDS,其中包含来自physionet网站的一系列记录文件的地址列表:Person_01/rec_1Person_01/rec_2...Person_90/rec_1Person_90/rec_2我需要对文本文件的每一行执行如下命令,如下所示:wfdb2mat-rrec_1-f0-t20>rec_1m.info这里的wfdb2mat是windows已知的命令,将windows中的.dat数据结构转换为已知的.mat结构MATLAB。此命令执行的输出报告作为.info存储在与RECORDS行相同的目录中。我写了一个批处理文件(convert.bat)作为:@ech

regex - 在Windows中用perl替换所有文件中的字符串

我想在windows的所有文件中用另一个字符串替换一个字符串。所有具有相同扩展名的文件。我尝试使用以下perl一个线性命令,但似乎“*”不适用于Windows。perl.exe-pi.bak-e"s/Hello/ABCD/ge"C:\Users\Jamimb\Desktop\Test\*.tmp所以请帮忙。 最佳答案 您可以使用glob在Perl中显式扩展命令行参数。此外,在这种情况下,替换上的/e(“eval”)修饰符是错误的。如果strict到位,它将导致Barewordnotallowed错误,但如果没有它,它只是一个空操作,

regex - 在字符串中查找日期和时间并在 Windows 或 cmd 中使用 sed 重新格式化删除空格

我想不出一个好的sed、regex或windowscmd,或两者兼而有之,将csv文件中的行重新格式化为可用的东西:给定:Name,Equip1_SA-TEMP--ASample,7/8/130:00,55.10Name,Equip1_SA-TEMP--ASample,7/8/130:10,55.50我需要“找到”日期时间部分,例如(7/8/130:00)并重新格式化为类似SQL的DATETIME:Name,Equip1_SA-TEMP--ASample,2013-07-0800:00:00,55.10Name,Equip1_SA-TEMP--ASample,2013-07-0800:

c# - 是否有人围绕 StringBuilders 或 Streams 实现了 Regex 和/或 Xml 解析器?

我正在构建一个压力测试客户端,它使用客户端可以召集的尽可能多的线程来攻击服务器并分析响应。我经常发现自己受到垃圾收集(和/或缺乏垃圾收集)的限制,在大多数情况下,它归结为我实例化的字符串,只是为了将它们传递给Regex或Xml解析例程。如果反编译Regex类,您会看到在内部,它使用StringBuilder来做几乎所有事情,但您不能传递给它一个字符串生成器;它有助于在开始使用之前深入研究私有(private)方法,因此扩展方法也不会解决它。如果您想从System.Xml.Linq中的解析器中获取对象图,您会遇到类似的情况。这不是迂腐的提前过度优化的情况。我看过Regexreplacem

C# Regex 性能非常慢

我是正则表达式主题的新手。我想用以下正则表达式解析日志文件:(?(.*?))[|](?(.*?))[|](?(.*?))[|](?[1-3])[|](?(.*?))[|][|][|](?(.*?))[|][|](?(.*?))[|](?(.*))日志行如下所示:2001.07.1309:40:20|1|SomeSection|3|======Somelogmessage::Type:test=sdfsdf|||.\SomeFile.cpp||60|-1带有appr的日志文件。3000行需要很长时间来解析它。你有一些加快性能的提示吗?谢谢...更新:我使用正则表达式是因为我使用了不同的日

c# - 没有行开始和结束终止符的 Regex.Replace 有一些非常奇怪的效果......这里发生了什么?

在回答这个问题时C#RegexReplaceand*有人提出问题存在的原因。播放时我产生了以下代码:strings=Regex.Replace(".A.","\w*","B");Console.Write(s);这有输出:B.BB.B我知道0长度字符串在.字符前后匹配,但为什么A被2Bs替换。我可以将B.BBB.B理解为替换A或B.B.B任一侧的零长度字符串但实际结果让我感到困惑-任何帮助表示赞赏。或者正如AakashM所说:为什么Regex.Matches("A","\w*").Count等于2,而不是1或3? 最佳答案 \w后面