我需要构建一个正则表达式来拆分以数字或LM开头的字符串(精确匹配,因为它是一种特殊情况)
For example -
Input : 1LM355PL6R5L8
Output : [1,LM,3,5,5PL,6R,5L,8]
Input : 349AB8LM7Y4II
Output : [3,4,9AB,8,LM,7Y,4II]
对于数字,我已经构建了这个正则表达式(?<!^)(?=\\d)
,它似乎工作得很好。现在我很困惑如何添加这个精确匹配的'LM'。它可以在任何位置
List<String> diff = Arrays.asList(inputString.split("(?<!^)(?=\\d)"));
上述代码的实际输出
Output : [1LM,3,5,5PL,6R,5L,8]
Output : [3,4,9AB,8LM,7Y,4II]
我试图在正则表达式中放入一个OR条件,并对LM进行严格匹配,但没有从中获得正确的结果。
List<String> diff = Arrays.asList(inputString.split("(?<!^)(?=\\d)|('LM')"));
1条答案
按热度按时间5sxhfpxr1#
带有
|
的or部分应该放在lookahead中,LM
周围不应该有引号。