【发布时间】:2013-01-02 23:53:18
【问题描述】:
我在 Google 上搜索了几个小时,得到了部分解决方案。
我是 Groovy 和正则表达式的新手。这些年来我偶尔使用过正则表达式,但我对它很不适应。
我有一个简单的游戏,可以检查你与隐藏单词有多少共同字母。
为简单起见,假设单词是“pan”,而人键入“can”。
我希望正则表达式的结果给我“an”。
现在,我通过这样做(在 Groovy 中)部分工作:
// Where "guess" is the user's try and "word" is the word they need to guess.
def expr = "[$word]"
def result = guess.find(expr)
结果字符串只包含第一个匹配的字母。有人有更优雅的解决方案吗? 提前致谢
【问题讨论】:
-
这看起来不是正则表达式的好用例。
-
你对“有共同字母”的定义是什么?它们是否需要在同一个位置或单词中的任何位置?它们必须按正确的顺序排列吗?
-
@RobertB:当我重读这个问题时,它似乎不是最长的常见子字符串问题。
-
如果这个词是
banana,他们猜是can?