标签: java regex algorithm pattern-matching time-complexity
我试图匹配字符串中的模式。我已经没有想法如何在Java中做到这一点,时间复杂度很高。
不是它不是一个简单的正则表达式匹配(但是被证明是错误的)
我正在尝试的是,
模式:“1221”(表示1个字重复一次,第2个字重复两次,最后一个字与第一个字相同)
有效输入:“aabbbbbbaa”(aa出现在开头和结尾,而中间部分被bbb重复两次)
我尝试了以下方法,但惨遭失败
我可以尝试其他哪些方法?
我认为动态编程可能就是答案,但我无法确定终止条件。
任何帮助都将不胜感激。
答案 0 :(得分:2)
您可以使用简单的正则表达式,例如:
^(.+)(.+)\2\1$
它完全符合您的要求: