按模式

时间:2018-03-01 10:13:21

标签: regex

我正在尝试实现一个函数,用于检测对话脚本中是否出现某些模式。模式可能很复杂。例如:

pattern1 = {"Could", "Can", "May", "Do you think"} before {"have", "buy", "enjoy"}

此模式将搜索文本并找到所有类似的表达式:

Could I have a slice of pizza? Can you buy me a cup of coffee? Do you think I can finish this task alone?

这些我会定义另一种模式:

pattern2 = {"Why not", "Sure", "Certainly", "Of course", "Yes"} after pattern1

如果一个人可以做某事,这个模式2很可能会与两个人正在谈论的文本相匹配。 beforeafter是我想要的位置匹配关键字。我想要的其他位置关系是near(两个子模式紧密相关),by(speaker)(匹配指示说话者的句子的开头)。

我希望在单独的文件中定义这些模式,以便它们更易于管理。我看过ANTLR,但看起来更像是定义一种新语言,而不是帮助我编译正则表达式或“匹配引擎”。有人能说明我应该如何进行这项任务吗?

0 个答案:

没有答案