正则表达式匹配2个或更多逗号

时间:2014-09-16 17:35:15

标签: java regex string

我正在尝试编写一个正则表达式,用于识别字符串是否包含2个或更多连续逗号。例如:

hello,,457
,,,,,
dog,,,elephant,,,,,

任何人都可以帮助确定有效的正则表达式吗?

3 个答案:

答案 0 :(得分:7)

String str ="hello,,,457";
Pattern pat = Pattern.compile("[,]{2,}");
Matcher matcher = pat.matcher(str);
if(matcher.find()){
    System.out.println("contains 2 or more commas");
}

答案 1 :(得分:4)

以下正则表达式将匹配具有两个或更多连续逗号的字符串

^.*?,,+.*$ 

DEMO

使用正则表达式matches方法时,您不需要包含开始和结束锚点。

System.out.println("dog,,,elephant,,,,,".matches(".*?,,+.*"));

输出:

true

答案 2 :(得分:-1)

尝试:

int occurance = StringUtils.countOccurrencesOf("dog,,,elephant,,,,,", ",,");

int count = StringUtils.countMatches("dog,,,elephant,,,,,", ",,");

取决于您使用的库: 在此处查看解决方案:Java: How do I count the number of occurrences of a char in a String?