/*
* Copyright 2013 Guidewire Software, Inc.
*/
/**
* This class is based, in part, on org.apache.commons.lang.StringUtils and is intended
* to break the dependency on that project.
*
* @author <a href="http://jakarta.apache.org/turbine/">Apache Jakarta Turbine</a>
* @author <a href="mailto:jon@latchkey.com">Jon S. Stevens</a>
* @author Daniel L. Rall
* @author <a href="mailto:gcoladonato@yahoo.com">Greg Coladonato</a>
* @author <a href="mailto:ed@apache.org">Ed Korthof</a>
* @author <a href="mailto:rand_mcneely@yahoo.com">Rand McNeely</a>
* @author Stephen Colebourne
* @author <a href="mailto:fredrik@westermarck.com">Fredrik Westermarck</a>
* @author Holger Krauth
* @author <a href="mailto:alex@purpletech.com">Alexander Day Chaffee</a>
* @author <a href="mailto:hps@intermeta.de">Henning P. Schmiedehausen</a>
* @author Arun Mammen Thomas
* @author Gary Gregory
* @author Phil Steitz
* @author Al Chou
* @author Michael Davey
* @author Reuben Sivan
* @author Chris Hyzer
* Johnson
*/
/*
来 自*
n o w j a v a . c o m - 时代Java
*/
//package com.nowjava;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Main {
public static void main(String[] argv) {
String str = "nowjava.com";
String regexp = "nowjava.com";
System.out.println(countRegexpMatches(str, regexp));
}
/**
* <p>Counts how many times the regexp appears in the larger String.</p>
*
* <p>A <code>null</code> or empty ("") String input returns <code>0</code>.</p>
*
* <pre>
* countMatches(null, *) = 0
* countMatches("", *) = 0
* countMatches("abba", null) = 0
* countMatches("abba", "") = 0
* countMatches("abba", "a") = 2
* countMatches("abba", "ab") = 1
* countMatches("abba", ".b") = 2
* countMatches("abba", "xxx") = 0
* </pre>
*
* @param str the String to check, may be null
* @param regexp the regexp to count, may be null
* @return the number of occurrences, 0 if either String is <code>null</code>
*/
public static int countRegexpMatches(String str, String regexp) {
if (isEmpty(str) || isEmpty(regexp)) {
return 0;
}//from 时 代 J a v a 公 众 号 - nowjava.com
Pattern pattern = Pattern.compile(regexp);
Matcher matcher = pattern.matcher(str);
int i = 0;
while (matcher.find()) {
i++;
}
return i;
}
/**
* <p>Checks if a String is empty ("") or null.</p>
*
* <pre>
* StringUtils.isEmpty(null) = true
* StringUtils.isEmpty("") = true
* StringUtils.isEmpty(" ") = false
* StringUtils.isEmpty("bob") = false
* StringUtils.isEmpty(" bob ") = false
* </pre>
*
* <p>NOTE: This method changed in Lang version 2.0.
* It no longer trims the String.
* That functionality is available in isBlank().</p>
*
* @param str the String to check, may be null
/**代码未完, 请加载全部代码(NowJava.com).**/
本文系作者在时代Java发表,未经许可,不得转载。如有侵权,请联系nowjava@qq.com删除。