使用关键字匹配列表拆分字符串?



我有一个分隔符列表,例如[月,月,年,年,年,小时,小时,分,分钟,分钟]等

还有输入字符串,如"2年2个月"、"22周2天"等。我想把这些字符串分成"2年"。和"2个月";等。如何使用Java正则表达式?

我试图以以下方式接近,但不确定如何从这里开始:

String s = "2 mnths 2 years";
String regex = String.join("|", timeWords);
String[] x = s.split(regex);

下面是一个正则表达式,它利用了正向前看和"分隔符";你提到:

[-a-zA-Zd]+s?(?=(months|month|yrs|years|hrs|hours|mins|min|minute|weeks|days))

https://regex101.com/r/Lnid0B/1

最新更新