Java Regexp在字符串的一部分之后向所有字符添加空格

Java Regexp在字符串的一部分之后向所有字符添加空格,java,regex,string,character,whitespace,Java,Regex,String,Character,Whitespace,我正在尝试将字符串转换为regexp格式 String months1 = "(?<month>(?i:January|February|March|April|May|June|July|August|September|October|November|December))"; String monthsResult = months1.replaceAll("([^\\(\\?\\<month\\>\\(\\?i])([a-zA-Z])", "$0 ?"); St

我正在尝试将字符串转换为regexp格式

String months1 = "(?<month>(?i:January|February|March|April|May|June|July|August|September|October|November|December))";
String monthsResult = months1.replaceAll("([^\\(\\?\\<month\\>\\(\\?i])([a-zA-Z])", "$0 ?");
String months1=“(?(?i:一月|二月|三月|四月|五月|六月|七月|八月|九月|十月|十一月|十二月));
字符串monthsResult=months1.replaceAll(([^\\(\\\?\\\\\\(\\\?i])([a-zA-Z]),“$0”);
我希望在
(?(?I:
之后,每个字符都有一个空格,但上面的代码显示:

(?<month>(?i:J ?an ?ua ?ry ?|F ?eb ?ru ?ar ?y|M ?ar ?ch ?|A ?pr ?il|M ?ay ?|J ?un ?e|J ?ul ?y|A ?ug ?us ?t|S ?ep ?tem ?be ?r|O ?ct ?obe ?r|N ?ove ?mbe ?r|D ?ec ?em ?be ?r))
((?i:J?an?u?ry?F?eb?ru?ar?y?M?ar?ch?A?pr?il?M?ay?J?un?e?J?ul?y?A?ug?us?t?S?ep?tem?be?r?O?ct?obe?r?N?ove?mbe?r?D?em?be?r))
是否与分组有关,或者我的replaceAll函数regexp不准确

任何帮助都将不胜感激

预期结果将是

"(?<month>(?i:J ?a ?n ?u ?a ?r ?y|F ?e ?b ?r ?u ?a ?r ?y|M ?a ?r ?c ?h|A ?p ?r ?i ?l|M ?a ?y|J ?u ?n ?e|J ?u ?l ?y|A ?u ?g ?u ?s ?t|S ?e ?p ?t ?e ?m ?b ?e ?r|O ?c ?t ?o ?b ?e ?r|N ?o ?v ?e ?m ?b ?e ?r|D ?e ?c ?e ?m ?b ?e ?r))
“代码>代码>目前,“(以下代码:“(?)是:“((?)是我的死亡死亡死亡的一个?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?n?n?n?n?n?n?n?n?n?n?u?u?)
.replaceAll((?您可以使用如下表达式:

(?<=\(\?<month>\(\?i:.{0,16000})\w\B

我认为代码中的
monthsLong
实际上是
months1
。对吗?如果您添加一个显示所需输出的字符串,人们会更容易帮助您。您当前对所需输出的描述不够清楚。这给出了一个错误:Look behind group没有明显的最大长度n耳指数22@user1463350“,”不是一个词的边界“@user1463350我编辑了我的答案,它按照你的预期工作。你能解释一下查找系统吗?@user1463350首先,
(?@user1463350简单地说,它匹配后面的表达式,但不包括它们。
(?<=\(\?<month>\(\?i:.{0,16000})\w\B
str.replaceAll("(?<=\\(\\?<month>\\(\\?i:.{0,16000})\\w\\B", "$0 ?");