gpt4 book ai didi

java - 指数函数 (e^x) 的正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:54:14 26 4
gpt4 key购买 nike

我正在尝试检查一个字符串是否包含带有 e^xe^(any #, including negative)x 的东西,但我不太清楚出来。这是我尝试过的:

if(str.matches("^(e^x)$") || str.matches("^(e^[-?0-9]x)$")){
System.out.println("match");
}

一些匹配的例子是:

-3e^x
100e^-x
e^-2x

我引用了 this , 但我还是想不通。

最佳答案

未转义的 ^ 匹配字符串的开头。如果您在正则表达式模式中使用它并且不指定多行标志,则该模式将始终失败,因为字符串的开头不能出现在它的中间。

您需要转义 ^ 并且使用 matches() 您不需要 anchor 。此外,您可以只使用 ?(一次或零次出现)或 *(零次或多次出现)量词:

if(str.matches("-?[0-9]*e\\^-?[0-9]*x"))

参见 regex demo

关于java - 指数函数 (e^x) 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34546829/

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