gpt4 book ai didi

java - 正则表达式非法转义字符

转载 作者:行者123 更新时间:2023-12-02 06:00:04 30 4
gpt4 key购买 nike

String[] tokens = infix.split("[0-9]*([.][0-9]+)? | sin | cos | tan | log | \^ | sqrt | \( | \) | \+ | \- | \* | \/");

当我编译这个时,它说我在“\^”处有一个非法转义字符,我试图告诉它忽略特殊字符“^”并将“^”视为实际的字符串,不要我的语法对吗?

最佳答案

在java中,需要转义转义符。本质上,您必须对字符串文字使用反斜杠:

String[] tokens = infix.split("[0-9]*([.][0-9]+)? | sin | cos | tan | log | \\^ | sqrt | \\( | \\) | \\+ | \\- | \\* | /");

请注意,您不会在java中转义正斜杠(无论是否为正则表达式)。

顺便说一句,您的正则表达式可以简化为:

String[] tokens = infix.split("[0-9]*([.][0-9]+)? | sin | cos | tan | log | sqrt | [()+*-] | /");

关于java - 正则表达式非法转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22751564/

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