用于查找匹配字符串的java正则表达式

时间:2013-08-08 14:16:19

标签: java regex

我的字符串模式是

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

我尝试了这种模式"(\\w+)-(\\w+)-(\\w+)-(\\w+)",但它提供了完全匹配。必需匹配0到3次"hbfj-"这些类型的字符串。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

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

如果找不到合适的话,这将返回空白。