Tag: 模式匹配

用于在括号之间提取文本的模式

如何使用模式匹配或任何东西从”(“和”)”提取字符串。 例如,如果文本是` “你好(Java)” 那么如何只获得”Java” 。 谢谢。

用于匹配开始/结束标记的Java正则表达式会导致堆栈溢出

Java Pattern类的标准实现使用递归来实现许多forms的正则表达式(例如,某些运算符,交替)。 这种方法导致堆栈溢出问题,输入字符串超过(相对较小)长度,甚至可能不超过1,000个字符,具体取决于所涉及的正则表达式。 一个典型的例子是以下正则表达式,使用交替从周围的XML字符串中提取可能的多行元素(名为Data ),该字符串已经提供: (?(?:.|\r|\n)+?) 上面的正则表达式与Matcher.find()方法一起用于读取“数据”捕获组并按预期工作,直到提供的输入字符串的长度超过1,200个字符左右,在这种情况下,它会导致堆栈溢出。 是否可以重写上述正则表达式以避免堆栈溢出问题?

使用java在文本文件中查找字符串的最快方法

检查文件是否包含某个字符串或数字的最快方法是什么?

如何在Java中检测String中的重复单词?

可以检测字符串中重复单词的方法是什么? 例如“这是重复测试的测试消息”包含一个重复的单词测试。 这里,目标是检测String中出现的所有重复单词。 使用正则表达式对于实现目标是优选的。

Groovy / Java在括号上拆分字符串“(”

我正在尝试执行类似以下的拆分: println “Hello World(1)”.split(“W”); 输出: [Hello , orld(1)] 我想执行这个分裂: println “Hello World(1)”.split(“(“); 但我明白了: Caught: java.util.regex.PatternSyntaxException: Unclosed group near index 1 ( 有没有办法逃脱这个括号? 任何帮助表示赞赏。

LCP如何帮助查找模式的出现次数?

我已经读过最长公共前缀(LCP)可用于查找字符串中模式的出现次数。 具体来说,您只需要创建文本的后缀数组,对其进行排序,然后不进行二进制搜索以找到范围,以便您可以计算出现次数,只需计算每个连续条目的LCP即可。后缀数组。 虽然使用二进制搜索来查找模式的出现次数是显而易见的,但我无法弄清楚LCP如何帮助找到此处出现的次数。 例如,对于banana这个后缀数组: LCP Suffix entry N/A a 1 ana 3 anana 0 banana 0 na 2 nana LCP如何帮助找到像“banana”或“na”这样的子字符串的出现次数对我来说并不明显。 有什么帮助搞清楚LCP如何帮助吗?

正则表达式匹配3个或更多连续顺序字符和连续相同字符

我需要正则表达式来匹配以下情况。 3个或更多连续的连续字符/数字; 例如123,abc,789,pqr等 3个或更多连续相同的字符/数字; 例如111,aaa,bbb,222等