我正在尝试用Java编写一个程序来查找文本文件中的字符串模式。 请考虑以下文字,取自小说:
他想,她是一个非常棒的女人。然后她说:“你好,我的名字叫劳伦。你的名字是什么?”
我想找到一种方法来查找这个单词序列的任何出现:HELLO,任何字符串,NAME(从列表中取出),因此,从上面的例子中,我会得到(以粗体显示):
他想,她是一个非常棒的女人。然后她说:“您好,我的名字是Lauren 。你的名字是什么?”
起初我考虑使用正则表达式,然后我考虑编写一个解析器(可能是JFlex或ANTRL生成的)。
任何人都知道更简单,更快速的代码解决方案吗?
答案 0 :(得分:2)
我认为使用Pattern类的正则表达式是您最好的选择,如果您只是想匹配HELLO(不区分大小写),任何字符串,名称(从列表中获取)。
看一下在线RegEx评估员来构建你的表达式(比如http://www.regular-expressions.info/javascriptexample.html)。构建表达式需要一些工作,但是一旦你这样做,它将提供一种简洁的方式来表达你的字符串搜索模式。
答案 1 :(得分:0)
尝试使用Java搜索引擎Lucene。你需要能够理解n-gram的东西。
答案 2 :(得分:0)
您可以尝试stanford POS tagger标记部分句子,然后使用您要查找的标准获取这些句子。