Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在文本中搜索字符串的模式_Java_String_Algorithm_Search - Fatal编程技术网

Java 在文本中搜索字符串的模式

Java 在文本中搜索字符串的模式,java,string,algorithm,search,Java,String,Algorithm,Search,我试图用Java编写一个程序,在文本文件中查找字符串模式。 考虑下面的文本,取自小说: 她是一个非常棒的女人,他想。然后她说:“你好,我叫劳伦,你叫什么?” 我想找到一种方法来查找这一系列单词的任何出现:HELLO,any string,NAME(取自列表),这样,从上面的示例中,我可以得到(粗体): 她是一个非常棒的女人,他想。然后她说:“你好,我叫劳伦。你叫什么?” 起初我考虑使用regex,然后考虑编写一个解析器(可能是JFlex或antl生成的解析器) 任何人都知道一种更简单、希望更快编

我试图用Java编写一个程序,在文本文件中查找字符串模式。 考虑下面的文本,取自小说:

她是一个非常棒的女人,他想。然后她说:“你好,我叫劳伦,你叫什么?”

我想找到一种方法来查找这一系列单词的任何出现:HELLO,any string,NAME(取自列表),这样,从上面的示例中,我可以得到(粗体):

她是一个非常棒的女人,他想。然后她说:“你好,我叫劳伦。你叫什么?”

起初我考虑使用regex,然后考虑编写一个解析器(可能是JFlex或antl生成的解析器)


任何人都知道一种更简单、希望更快编码的解决方案吗?

试试,Java搜索引擎。您需要能够理解n-grams的东西。

我认为,如果您只是尝试匹配HELLO(不区分大小写)、任意字符串、名称(取自列表),那么使用该类的正则表达式是最佳选择


看一看在线正则表达式求值器来构建表达式(比如)。构建表达式需要一些工作,但一旦完成,它将提供一种简洁的方式来表达字符串搜索模式。

您可以尝试标记句子的部分,然后使用您正在寻找的标准提取这些句子。

谢谢。你的回答似乎很符合我的任务。我将详细研究斯坦福POS-tagger。顺便说一句,你用过吗?如果是,您是否创建过自定义标记器文件?再次感谢。我想你不需要自定义标记器文件。只要正确研究标记器中使用的标记集,你就能实现你想要的。例如,在你给出的示例中,hello将属于特定标记,名称将属于专有名词。研究标记集,你应该做得很好。为了进一步饱和搜索,试着用你特定的正则表达式模式,用Pattern和Matcher来打标签。祝你好运!