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
字符串文字是转义引号字符,而不是后跟引号字符的反斜杠字符。”。