正则表达式 In Java

来源:互联网 发布:数据库查询不重复数据 编辑:程序博客网 时间:2024/05/17 02:22

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    待查找的字符串     * @param 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);    }



0 0
原创粉丝点击