^^[Java]上的字符串模式

^^[Java]上的字符串模式,java,regex,Java,Regex,这是我的代码,它适用于-,但不适用于^,我知道原因,但不知道解决方案 此代码有效,并为我提供“此处”: 此代码没有给我“此处”: 将^替换为\\^,这是一个特殊符号,表示未启用修饰符时的行首。这样的符号(\.[]{}()*+-?^$\)必须在前面用\进行转义。您需要转义^两个字符(或对它们进行分组),它们是正则表达式中的特殊字符。当我改变你的第二个例子时 String patternString = "(.*)\\^\\^(.*)"; 或者 String patternString = "(.

这是我的代码,它适用于
-
,但不适用于
^
,我知道原因,但不知道解决方案

此代码有效,并为我提供“此处”:

此代码没有给我“此处”:


^
替换为
\\^
,这是一个特殊符号,表示未启用修饰符时的行首。这样的符号(
\.[]{}()*+-?^$\
)必须在前面用
\
进行转义。

您需要转义
^
两个字符(或对它们进行分组),它们是正则表达式中的特殊字符。当我改变你的第二个例子时

String patternString = "(.*)\\^\\^(.*)";
或者

String patternString = "(.*)\\^{2}(.*)";

我在这里得到了你(期望的)
,“^”是一个锚字符,你必须转义它。
^
是一个正则表达式,虽然必须用
\\^
@KevinEsche转义,如果我把\\我得到了
不可能
这里
听凯文的话(他们两个),他们说的是实话。;-)实际上,这里的
^
是字符串的开头,因为没有定义多行修饰符。这将生成
不可能
而不是
这里的

String patternString = "(.*)\\^\\^(.*)";
String patternString = "(.*)\\^{2}(.*)";