最近在写java程序时遇到了文本处理问题。
明明自己的程序写的没有什么问题,但是却进入了死循环或者是栈溢出。
下面给出大家几个可能的解决方法
- 尽量少使用+或者*。虽然这两种符号用起来很方便,但是在匹配时是递归进行匹配的,所以开销会比较大。
- 使用
Pattern.compile()来构建新的Pattern类对象,这样做性能会比直接使用Matcher类要好。 - 想办法简化自己的正则表达式。
- 如果文本的长度过长,建议可以先手动进行简单的文本分割。比如先按段落分开,或者划分为比较短的文本块。之后再使用正则表达式去匹配或者查找。
本文分享了在Java程序中遇到文本处理问题时的解决方法,包括避免使用递归匹配符号、使用Pattern.compile()构建Pattern对象以提高性能、简化正则表达式以及对长文本进行预分割等技巧。

2712

被折叠的 条评论
为什么被折叠?



