java里没有类似python的search 函数
怎样得到matched的字符串? group
find/matched判断是否matched.
Difference between matches() and find() in Java Regex
matches
tries to match the expression against the entire string and implicitly add a
^
at the start and
$
at the end of your pattern,meaning it will not look for a substring.
matches隐含在正则表达式前后增加了: ^ and $
matches
return true if the whole string matches the given pattern.find
tries to find a substring that matches the pattern./** * 从dataStr中获取出所有的电话号码(固话和移动电话),将其放入Set * @param dataStr 待查找的字符串 * phoneSet dataStr中的电话号码 */ public static void getPhoneNumFromStrIntoSet(String dataStr,Set<String> phoneSet) { //获得固定电话和移动电话的正则表达式 String regexp = isPhoneRegexp(); System.out.println("Regexp = " + regexp); Pattern pattern = Pattern.compile(regexp); Matcher matcher = pattern.matcher(dataStr); 找与该模式匹配的输入序列的下一个子序列 while (matcher.find()) { 获取到之前查找到的字符串,并将其添加入set中 phoneSet.add(matcher.group()); } System.out.println(phoneSet); }