Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java正则表达式-代码中的检测字符串_Java_Regex_String - Fatal编程技术网

java正则表达式-代码中的检测字符串

java正则表达式-代码中的检测字符串,java,regex,string,Java,Regex,String,我需要一些帮助。 我想在代码中使用正则表达式检测字符串 这是我的代码: String andy="andy said that anna cannot do that"; String anna="anna say \" i cannot do that\"" String empty=""; 这是我的正则表达式: Pattern.compile("\"[^\"]*\""); 我不知道我的正则表达式如何忽略\“? 因此,我的结果是: “安迪说安娜不能那样做”“安娜说” 改为使用此模式“*?[

我需要一些帮助。
我想在代码中使用正则表达式检测字符串

这是我的代码:

String andy="andy said that anna cannot do that";
String anna="anna say \" i cannot do that\""
String empty="";
这是我的正则表达式:

Pattern.compile("\"[^\"]*\"");
我不知道我的正则表达式如何忽略
\“
? 因此,我的结果是:

“安迪说安娜不能那样做”“安娜说”

改为使用此模式
“*?[^\\]”


更新:要捕获空的,请使用此模式(“(?:[^“\\]\\\”\\\“\\\)*”

那么,您想在一行中提取整个字符串-
anna说“我不能那样做”
?您想用正则表达式做什么?
匹配()
查找()
拆分()
,或者其他什么?---另外,如果
“[^”]*”
是您的正则表达式,那么它将作为Java字符串文本编写:
“\”[^\"]*\""
。这就是你所拥有的吗?---最后,你展示了你的结果,但不是你所期望的结果,那么当我们不知道什么是正确的时候,你希望我们如何帮助你做到正确呢?@Rohit Jain:是的,请。@Andreas:我想找到使用模式,很抱歉我的模式,我已经编辑了我的帖子。请展示你的其余代码,谢谢因为你根本无法从你所展示的内容中得到你声称得到的结果。我编辑了我的文章,这个模式在字符串为空的情况下不匹配。如果输入字符串不包含任何反斜杠字符,那么
[^\\\]
的目的是什么?你看到的反斜杠是引号的转义,因此实际值是
anna say“我不能这样做”
。没有反斜杠。@Andreas,这样做的目的是使模式不停在
\“
(如果存在)并继续到最后一个
,唯一的缺点是无法捕获空字符串,使用更新的模式进行修复。您仍然没有抓住要点。文本中没有反斜杠!!!但是,您更新的正则表达式(作为Java文本将是
(?:[^\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”
)在反斜杠上匹配。
\“
中的
anna
字符串文字是转义引号字符,而不是后跟引号字符的反斜杠字符。”。