我在脚本中有一些不匹配的if和fi语句.除了if's else's和fi's之外,我想删除所有内容.就这样我可以看到结构.为什么这么强大的编辑器如此努力?我需要一个BIGFATOR运算符来进行正则表达式或一些顿悟,但是我不知道正则表达式上的pontification只是在VIM7.2中实际工作的东西.
:g/[^\t] if [/ print
将打印出ifs
:g/[^\t] fi/print
将打印出fi
我想做的是或条件
:g/[^\t] fi BIGFATOROPERATOR [^\t] fi/print
我做了以下成功...但我觉得我工作太难了!
:调用TripMatch('[^\t]*if [','else','fi [\ t $]')
功能!TripMatch(str1,str2,str3)
let var1 = a:str1
let var2 = a:str2
让var3 = a:str3
让max = line("$")
设n = 1
n在范围内(1,最大)
让currentline = getline(n)
Run Code Online (Sandbox Code Playgroud)if currentline =~? var1 echo n "1:" currentline else if currentline =~? var2 echo n "2:" currentline else if currentline =~? var3 echo n "3:" currentline else let foo = "do nothing" endif endif …
我在这里看到了一些与确定文件相似性有关的问题,但它们都与特定域(图像,声音,文本等)相关联.作为解决方案提供的技术需要了解所比较文件的基础文件格式.我正在寻找的是一种没有此要求的方法,可以比较任意二进制文件,而无需了解它们包含的数据类型.也就是说,我希望确定两个文件的二进制数据的相似百分比.
为了给你提供更多的细节,即使这可能适用于很多事情,我确实有一个特定的问题,我正在努力.我目前也有一个有效的解决方案,但我不认为它是理想的.在比较方法方面可能存在许多优化,并存储结果.希望这里的一些人能够给我一些新的想法.我可能会在几天之后编辑一些关于我当前方法的信息,但我不想通过告诉你我是如何做的来偏见人们对这个问题的想法.
我正在研究的问题是视频游戏ROM映像的克隆检测.对于那些没有仿真经验的人来说,ROM是游戏卡带上的数据转储.ROM"克隆"通常是同一游戏的修改版本,最常见的类型是翻译版本.例如,NES 的原始最终幻想的日语和英语版本是克隆.游戏几乎分享了他们所有的资产(精灵,音乐等),但文本已被翻译.
目前有几个小组致力于维护各种系统的克隆列表,但据我所知,这一切都是手动完成的.我试图做的是找到一种方法来自动和客观地检测类似的ROM图像,基于数据相似性而不是"这些似乎是相同的游戏".检测克隆有几个原因,但其中一个主要动机是与固体压缩一起使用.这允许将所有游戏克隆压缩到同一档案中,整个压缩克隆集通常只占用比单个ROM中的一个更多的空间.
提出潜在方法时需要考虑的一些问题:
这是一个有趣的问题,我期待看到其他人能想到的东西.如果您想了解更多细节,请在评论中告诉我,我会尽力提供.
Python和JavaScript正则表达式语法是否相同?
如果没有,那么:
我有一个通配符模式,可能是"*.txt"或"POS ??.dat".
我还有内存中的文件名列表,我需要与该模式进行比较.
我将如何做到这一点,请记住,我需要与IO.DirectoryInfo.GetFiles(模式)使用完全相同的语义.
编辑:盲目地将其转换为正则表达式将无法正常工作.
我需要将markdown文本转换为纯文本格式以在我的网站中显示摘要.我想要python中的代码.
当我使用WebRequest.Create(" http:// abc/test.")进行GET时,我得到404,因为根据fiddler,尾随点被.NET剥离,Web服务器需要点.我该如何防止或解决它.任何解决方法表示赞赏!
嘿,这是星期五下午,让我们有一个有趣的拼图/算法问题来解决.
我最喜欢的任天堂DS游戏之一是Picross DS.游戏很简单,它涉及解决称为Nonograms的谜题.您可以在这里尝试一个简单的在线Picross克隆:TylerK的Picross.
非图是网格,为网格的每一行和每列定义数字序列.这些数字定义了该行/列的"填充"方块的块,但未定义块两侧的未填充区域.例如,如果您有一行如下所示:
http://steam-punk.net/images/picross1.jpg
该行的可能解决方案包括:
http://steam-punk.net/images/picross2.jpg http://steam-punk.net/images/picross3.jpg
等等
"4 5"只是告诉你,在行的某个地方,填充了4个连续的块,然后填充了5个连续的块.这些块将是填充的唯一块,并且它们之前/之后的空间量是没有定义的.
当所有行和列符合其定义时,拼图就完成了,没有任何矛盾.
概念上非常简单的游戏,但手动解决其中一些可能需要一段时间.Picross DS的谜题逐渐增加到25x20网格,这通常需要我花半个小时来解决.
但是,我总是想到编写一个程序来解决它是一个非常简单的游戏.我从未接触过它,但也许这里的一些人会喜欢这个挑战.如果发布了相当数量的解决方案,我会将它们作为一个大型拼图相互比较,类似于Paolo Bergantino在这里用他的Boggle问题做的.如果你想参考,那么在Nonogram Wikipedia页面上有很多关于攻击谜题的方法的信息.
这是TylerK的Picross中拼图#1的一个易于解析的定义,所以你可以为程序提供一些东西.第1行是拼图维度(可能是不必要的),第2行是行定义,第3行是列定义.这只是我想到的第一件事,所以如果有人能想到更好的输入格式,请随意评论或编辑这篇文章以包含它.
15 15
15,4 5,2 4,1 3,2,2,2 4 3,2 6 2,2 1 6 2,2 1 1 4 2,1 1,1 3 2 1,2 2 1 2 1,3 3 2 1,9
4 4,3 1 2 3,2 1 2 2,2 1 1,1 4 2,1 3,1 8,1 3 1 1,1 4 2 1,1 4,2 4 …Run Code Online (Sandbox Code Playgroud) 当谈到正则表达式时,我在学习曲线上的某个地方,我需要使用它们来自动修改一堆C头中的函数原型.有没有人知道一个不错的正则表达式来查找C头中的任何和所有函数原型,同时排除其他所有内容?
编辑:最初不清楚的三件事:
我正在尝试使用Graphviz点(但我愿意使用其他东西)来生成一个带有长"节点主线"和许多小分支的图形.我希望主线从左到右是直的,在它上面或下面有小分支.然而,Graphviz"平衡"了两个分支,所以我最终得到了一个弯曲的图形.
为了说明,这是一个类似于我目前得到的草图:

这就是我真正想要的:

有没有办法强制或鼓励Graphviz生成第二个图形?我可以使用"虚拟"第二个分支让它做三向布局,然后隐藏/删除虚拟对象,但如果有更好的选择,那将是更好的选择.
我有一个字符串(例如"AABBCCDDEEFF")并希望将其拆分为一个数组,每个元素包含两个字符 - ["AA","BB","CC","DD","EE","FF"] .
regex ×5
.net ×2
python ×2
algorithm ×1
binary-data ×1
c ×1
comparison ×1
dot ×1
function ×1
graphviz ×1
javascript ×1
markdown ×1
parsing ×1
puzzle ×1
ruby ×1
similarity ×1
vim ×1
webrequest ×1