2

我的字符串模式是

"hbfj-nbsp-nbsp-wsefj-f-ejsf-sdfh-sjkf-df-sdjfk-sdfhb-jdgh-nbsp-djg-hdr"

我已经尝试过这种模式"(\\w+)-(\\w+)-(\\w+)-(\\w+)",但它给出了完全匹配。要求匹配"hbfj-"此类字符串的 0 到 3 次。

4

2 回答 2

2

尝试使用这个正则表达式:string.matches("^(\\w+(-|$)){0,3}$")

于 2013-08-08T14:20:27.440 回答
1

我认为您想提取第一个连字符分隔的单词(最多 4 个):

String words = str.replaceAll("^(\\w+(-\\w){0,3})?.*", "$1");

如果没有找到合适的,这将返回一个空白。

于 2014-01-11T21:11:17.307 回答