Questions tagged «pattern-matching»

1
只匹配自己的正则表达式
正则表达式(自匹配正则表达式,正则表达式验证正则表达式)面临一些非常酷的挑战 这可能是不可能的,但是是否存在只能匹配自身的正则表达式? 注意,必须包括定界符: 例如/thing/必须匹配/thing/而不是thing。表达式唯一可能的匹配必须是表达式本身。许多语言允许使用字符串代替正则表达式。例如在Go中 package main import "fmt" import "regexp" func main() { var foo = regexp.MustCompile("bar") fmt.Println(foo.MatchString("foobar")) } 但是为了挑战,如果您想将引号作为分隔符,则让表达式被定界(开始符号,表达式,结束符号ex:/fancypantpattern/或@[^2048]@)。我认为,鉴于此问题的明显困难,它不会带来太大变化。 为了帮助您: 我为rubular.com(用于ruby regex编辑的网页)放在一起的快速技巧: var test = document.getElementById("test") ,regex = document.getElementById("regex") ,delimiter="/" ,options = document.getElementById("options") ,delay = function(){test.value = delimiter + regex.value + delimiter + options.value} ,update = function(e){ // without …

28
Java对JavaScript就像汽车对地毯一样
标题被盗灵感来自格雷格Hewgill的回答到什么是JavaScript和Java之间的区别? 介绍 Java和JavaScript是程序员常用的语言,并且是Stack Overflow上最流行的标签。然而,众所周知,除了名字相似外,两者几乎没有共同之处。 为了纪念编程界最臭名昭著的辩论之一,并受到我最近对标记搜索的不满启发,我提出以下建议: 挑战 编写一个将字符串作为输入的程序。返回car如果字符串开头的“Java”和不包括“的JavaScript”。否则,返回carpet。 输入和输出示例 汽车: java javafx javabeans java-stream java-script java-8 java.util.scanner java-avascript JAVA-SCRIPTING javacarpet 地毯: javascript javascript-events facebook-javascript-sdk javajavascript jquery python rx-java java-api-for-javascript not-java JAVASCRIPTING 笔记 输入匹配不区分大小写 输出的唯一可能性应该是car或carpet 如果您的答案使用Java,JavaScript或Regex,则可获得虚构的奖励积分 备用标题:Java是JavaScript,就像火腿是仓鼠

15
半回文之谜
回文是一个本身相反的词。 现在有些单词看起来像回文,但看起来却不然。例如,考虑单词 sheesh, sheesh不是回文,因为它的反向是hseehs不同的,但是如果我们认为sh是单个字母,那么它的反向是sheesh。我们将这种词称为半回文。 具体来说,如果我们可以将单词拆分成一定数量的块,则该单词为半回文,这样当块的顺序颠倒时,便形成了原始单词。(因为sheesh这些块是sh e e sh),我们也将不要求任何块包含两个单词的字母(否则每个单词都是半回文)。例如rear,不是半回文,因为它r ea r具有一个块(ea),其中包含来自原始单词两边的字母。我们认为奇数长度的单词的中心字符不在单词的两侧,因此对于奇数长度的单词,中心字符必须始终位于其自己的块中。 您的任务是获取正整数列表,并确定它们是否为半回文。您的代码应输出两个一致的不相等值,如果输入是半回文,则应输出一个,否则将输出另一个。但是,代码的字节序列本身必须是半回文。 答案将以字节计分,而字节数越少越好。 测试用例 [] -> True [1] -> True [2,1,2] -> True [3,4,2,2,3,4] -> True [3,5,1,3,5] -> True [1,2,3,1] -> False [1,2,3,3,4,1] -> False [11,44,1,1] -> False [1,3,2,4,1,2,3] -> False 程序生成更多的测试用例。 borrible指出,这些与广义Smarandache回文相似。因此,如果您想做进一步的阅读,那是一个开始的地方。

4
Pentomino 6x10解决方案标准化器
正如您现在最可能看到的那样,在6x10的网格中有2339种解决五味子拼图的方法。12种戊糖胺有不同的标记方案,下图显示了其中的两种: 图片来源:维基百科 出于当前任务的目的,我们将说归一化的戊糖胺溶液是使用第二种标记方案(康韦)的溶液。 例: O O O O O S S S Z Z P P R R S S W W Z V P P P R R W W Z Z V U U X R T W Y V V V U X X X T Y …

1
Tatamibari求解器
背景 Tatamibari是由Nikoli设计的逻辑难题。 Tatamibari拼图游戏在带有三种不同符号的矩形网格上播放:+,-。和|。求解器必须根据以下规则将网格划分为矩形或正方形区域: 每个分区中必须只包含一个符号。 一个+符号必须包含在一个正方形。 甲|符号必须被包含在具有比宽度更大的高度的矩形。 甲-符号必须被包含在具有比高度较大的宽度的矩形。 四个片段可能永远不会共享相同的角落。(这是日本榻榻米瓷砖通常的放置方式。) 以下是一个示例难题,并提供了解决方案: 任务 解决给定的Tatamibari难题。 输入输出 输入是一个2D网格,代表给定的Tatamibari拼图。每个单元包含四个字符之一:+,-,|,和您所选择的字符来表示一个非线索细胞。在测试用例中,使用星号*。 您可以选择任何合适的输出格式,这些输出格式可以明确表示Tatamibari拼图的任何有效解决方案。这包括但不限于:(如有疑问,请在评论中提问。) 4元组的列表,其中每个元组包括矩形的顶部索引,左侧索引,宽度和高度(或任何等效表示形式) 与输入形状相同的数字网格,其中每个数字代表一个矩形 坐标集列表,每个坐标集包括矩形中单元格的所有坐标 如果难题有多个解决方案,则可以输出任意数量(一个或多个)的有效解决方案。输入保证至少有一个解决方案。 测试用例 Puzzle: |-* *+| *-* Solution: 122 134 554 ===== Puzzle: +*** **|* *+** ***- Solution: 1122 1122 3322 3344 ====== Puzzle: |*+*+ ***** ****- ***+| +**** Solution: 12233 12233 44444 55667 …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.