短语模板检测

时间:2012-03-26 11:21:23

标签: algorithm pattern-matching

是否有一种简单的方法可以检测文本块中的短语模板?

例如,给出文字:

  

不确定如何处理此问题。这很困难,而且我很难说我不知道​​怎么做。但也许这对其他人来说很明显?

模板:

  

[x],[x]表示[Y]

会导致匹配。

我认为某些描述的正则表达式是最好的选择,虽然我不知道正则表达式是否可以这样做。

奖励:如果尝试连续匹配多个模板,那么计算效率最高的方法是什么?

编辑:只是为了澄清,我只需要完全匹配。例如,上面的模板必须匹配以下内容:

  苹果,苹果,我的意思是梨

1 个答案:

答案 0 :(得分:1)

如果你需要通过regexp进行匹配,你可以使用这个:

(\w+), and by \1 I mean \w+

apple, and by apple I mean pineapple -> match
apple, and by apple I do mean pear -> not match

(\w+) - matches 1 word and save it to first group
\1 - word from first group
\w+ - match second word

http://regexpal.com/

上更多地使用regexp

但是如果你真的需要与很多模式匹配,你需要定义你需要的所有模式并构建自己的finite state machine