java - 如何为这种情况编写正则表达式?

标签 java regex

我想知道如何为以下代码编写正则表达式。

<a href="/search?q=user:111111+[apple]" class="post-tag" title="show all posts by this user in 'apple'">Apple</a><span class="item-multiplier">&times;&nbsp;171</span><br>

我只需要从上面的源代码中获取Apple。

最佳答案

txt2re 有一个很棒的工具可用于轻松生成各种语言的正则表达式。 我用它来generate以下内容:

import java.util.regex.*;

class Main
{
  public static void main(String[] args)
  {
    String txt="<a href=\"/search?q=user:111111+[apple]\" class=\"post-tag\" title=\"show all posts by this user in 'apple'\">Apple</a><span class=\"item-multiplier\">&times;&nbsp;171</span><br>";

    String re1=".*?";   // Non-greedy match on filler
    String re2="(?:[a-z][a-z]+)";   // Uninteresting: word
    String re3=".*?";   // Non-greedy match on filler
    String re4="(?:[a-z][a-z]+)";   // Uninteresting: word
    String re5=".*?";   // Non-greedy match on filler
    String re6="(?:[a-z][a-z]+)";   // Uninteresting: word
    String re7=".*?";   // Non-greedy match on filler
    String re8="((?:[a-z][a-z]+))"; // Word 1

    Pattern p = Pattern.compile(re1+re2+re3+re4+re5+re6+re7+re8,Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
    Matcher m = p.matcher(txt);
    if (m.find())
    {
        String word1=m.group(1);
        System.out.print("("+word1.toString()+")"+"\n");
    }
  }
}

关于java - 如何为这种情况编写正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2510347/

相关文章:

java - 使用正则表达式拆分 SQL Select 语句

java字符串替换所有正则表达式

javascript - 正则表达式捕获斜杠之间的字符串

javascript - 需要搜索点来拆分,但我只在不匹配其他子字符串时才需要

javascript - 找出正则表达式模式

java - 简单但反复出现的命名问题

Java System.nanoTime() 耗时的巨大差异

java - 为什么这个java递归函数不能正常工作?

java - 调用反射方法时 Android 中的 SecurityException

java - getLinks 方法返回已删除的实体,如何防止呢?