我正在尝试编写一个正则表达式,用于识别字符串是否包含2个或更多连续逗号。例如:
hello,,457
,,,,,
dog,,,elephant,,,,,
任何人都可以帮助确定有效的正则表达式吗?
答案 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)
以下正则表达式将匹配具有两个或更多连续逗号的字符串
^.*?,,+.*$
使用正则表达式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?