Java 正则表达式子串后面没有逗号
Java regex substring not followed by comma character
我有一个字符串,我正在使用 String.split(正则表达式) 最终得到一个字符串[]。
字符串格式为
January,WEEKDAY,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,AJanuary,WEEKEND,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,B,B,BJanuary,HOLIDAY,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,C,C,CFebruary,WEEKDAY,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,AFebruary,WEEKEND,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,B,B,BFebruary,HOLIDAY,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,AMarch,WEEKDAY,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,C,C,C
拆分后的第一个字符串应该是
January,WEEKDAY,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 或 ,B 或 ,C 处进行拆分,后面没有 ,
为了测试第一个,我尝试制作我的正则表达式 "(?<!,)A,"
但是没有用
有什么想法吗?
您似乎在寻找类似以下的内容:
String[] parts = s.split("(?<=,[ABC](?!,))");
或者您也可以在此处使用 word/non-word 边界:
String[] parts = s.split("(?<=\b[ABC]\B)");
您也可以使用(?<=,[ABC])(?=[^,])
拆分。
我有一个字符串,我正在使用 String.split(正则表达式) 最终得到一个字符串[]。
字符串格式为
January,WEEKDAY,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,AJanuary,WEEKEND,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,B,B,BJanuary,HOLIDAY,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,C,C,CFebruary,WEEKDAY,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,AFebruary,WEEKEND,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,B,B,BFebruary,HOLIDAY,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,AMarch,WEEKDAY,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,C,C,C
拆分后的第一个字符串应该是
January,WEEKDAY,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 或 ,B 或 ,C 处进行拆分,后面没有 ,
为了测试第一个,我尝试制作我的正则表达式 "(?<!,)A,"
但是没有用
有什么想法吗?
您似乎在寻找类似以下的内容:
String[] parts = s.split("(?<=,[ABC](?!,))");
或者您也可以在此处使用 word/non-word 边界:
String[] parts = s.split("(?<=\b[ABC]\B)");
您也可以使用(?<=,[ABC])(?=[^,])
拆分。