Java正则表达式,从源代码中查找特定字符串

时间:2016-02-07 11:51:14

标签: java regex string

我很难让我的正则表达式工作,或者我很确定问题出在哪里。

这是源代码的一个例子,我试图从整个源代码中逐字逐句地获取所有普通文本,而没有数字或特殊符号。

<a href="/public/">A university of fine tradition, dynamic study life and international possibilities.<span></span> </a>

这是代码的一部分。

String theRegex = "</>>(\\w+)</<> ";
    String str2Check = "<a href="/public/">A university of fine tradition, dynamic study life and international possibilities.<span></span> </a>";

            Pattern p = Pattern.compile(theRegex, Pattern.MULTILINE);
            Matcher m = p.matcher(str);
            if (m.find()) {
                System.out.println(m.group(1));
            }

我尝试了不同的正则表达式组合,但不知怎的,我无法将它们弄好(可能是因为我一直在与它们混合)。

希望你能理解我在这里的要求,谢谢你。

1 个答案:

答案 0 :(得分:0)

  

我很难让我的正则表达式工作

如果我理解正确,您正在搜索正则表达式,它会删除像<>这样的HTML标记,并为您提供其余的字符串标记。

以下是快速代码段:

public static void main (String[] args)
{
    String str2Check = "<a href=\"public\">A university of fine tradition, dynamic study life and international possibilities.<span></span></a>";
    String newString = str2Check.replaceAll("\\<[a-zA-Z0-9.,; /=\"]+\\>","");

    StringTokenizer st = new StringTokenizer(newString);  
    while (st.hasMoreTokens()) {  
        System.out.println(st.nextToken());  
    }  
}

输出:

A
university
of
fine
tradition,
dynamic
study
life
and
international
possibilities.