gpt4 book ai didi

Java 正则表达式 : How common is it? 它使用了多少资源?

转载 作者:行者123 更新时间:2023-11-29 09:51:21 28 4
gpt4 key购买 nike

我有一个关于 java 和正则表达式的非常笼统的问题。

如果我们锁定嵌入式使用,比如使用 J2ME 或 Android 的手机,包含正则表达式的情况有多普遍?它对资源的需求有多大?

我的意思是正则表达式是一头强大的野兽,需要在后台执行大量魔法才能实现。我的问题是魔法是否太多了?或者如果小心使用它是安全的(就像大多数事情一样)。


更新:感谢 DigitalRoss 指出 java.util.regex是 android 的一部分。

最佳答案

正则表达式是一种编程语言——它是一种定义有限状态机的方法,并且 FSM 的复杂性实际上没有上限,超出您自己的理智范围。

这不是“魔法”——您可以了解 RE 匹配在幕后是如何工作的,一旦您这样做了,您就可以控制 RE 的资源消耗程度。

简单的 RE 非常便宜,但可以编写昂贵的 RE,它们必须向前看并进行大量回溯。

我强烈推荐 Jeff Friedl 的“Mastering Regular Expressions”。它不仅适用于 Perl,而且您不必仔细研究整个事情,只需忘记 RE 是神奇的想法,并了解它是一种您可以优化的编程语言(或者,实际上,在其中编写性能不佳的代码)。

关于Java 正则表达式 : How common is it? 它使用了多少资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1480762/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com