我当然希望这会得到支持:
private static void regex() {
String plain = "\\w+";
String withTextBlocks = """
\w+
""";
}但是withTextBlocks没有在Java-17下编译。难道这不是我们不应该逃避的文本块的要点吗?我已经通过了杰普,也许解释在那里,但我无法摸索。还有第二个问题,如果有人知道的话,这有未来的JEP吗?谢谢。
它在Kotlin工作。
发布于 2022-09-07 16:59:27
您正在将文本块与原始字符串合并。这些都是不同的特征,尽管它们是一起探索的,这也许可以解释为什么你把它们合在一起。目前还没有对原始字符串的支持(结果显示,这些字符串比最初可能出现的字符串更容易变滑)。
难道这不是我们不应该逃避的文本块的要点吗?
不,这不是文本块的重点。文本块的目的是允许我们用代码来表示文本的二维块,保持该块的相对缩进,而不是绝对缩进。这允许我们自由地缩进文本块本身的源表示,以匹配周围的代码,而不影响文本块描述的字符串的缩进。
另一个设计目标是,文本块应该与普通字符串文本不同,只有在与其二维性质相关的方面。不应有不同的转义字符集或不同的转义规则。(如果我们做过原始字符串,那么它应该同样适用于文本块和传统字符串文本。)如果文本块按照您想要的方式工作,您可能会抱怨无法对单行字符串执行相同的操作。这些方面是正交的,语言应该正交地对待它们。
https://stackoverflow.com/questions/73630599
复制相似问题