【问题标题】:Java regex print word [closed]Java正则表达式打印字[关闭]
【发布时间】:2014-01-04 23:33:38
【问题描述】:

我想打印包含模式_fact"的单词。例如在下面的字符串中想要打印agg_day_adv_campaign_demand_fact。

String text =
  "FROM dt_dim AS d, "+
  "adj_dim AS adj " +
  "cam_dim AS cam, " +
  "agg_day_adv_campaign_demand_fact AS fact ";

【问题讨论】:

  • 您忘记发布您的尝试了 :)
  • 我相信你按下的是 按钮,而不是 Request Code 按钮
  • 为了获得建设性的答案,您必须始终向我们展示您自己解决问题的尝试以及预期和收到的输出/错误消息。

标签: java regex


【解决方案1】:

您可以简单地将split字符串转换成单词,并逐个检查单词以搜索您的模式。

【讨论】:

    【解决方案2】:
        String text =
                  "FROM dt_dim AS d, "+
                  "adj_dim AS adj " +
                  "cam_dim AS cam, " +
                  "agg_day_adv_campaign_demand_fact AS fact ";
    
        Pattern FACT_PAT = Pattern.compile("(\\S+_fact)");
        Matcher m = FACT_PAT.matcher(text);
        if (m.find()){
            System.out.println(m.group(1));
        }
    

    【讨论】:

    • 感谢 JosefN。上面的代码只打印正则表达式,即_fact。但要求是打印完整的单词。
    • 我已经修好了 :),很抱歉
    【解决方案3】:

    regex \w*_fact 会做到这一点。 你可以在这里测试这个正则表达式 (http://regexpal.com/)

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class Main {
    
        public static void main(String[] args) {
            String text    =
                    "FROM dt_dim AS d, "+
                            "adj_dim AS adj " +
                            "cam_dim AS cam, " +
                            "agg_day_adv_campaign_demand_fact AS fact ";
            Pattern pattern = Pattern.compile("\\w*_fact");
            Matcher matcher = pattern.matcher(text);
            while (matcher.find()) {
                System.out.println("Found the text " + matcher.group()+  "starting at " + matcher.start()
                        + " index and ending at index " + matcher.end());
                System.out.println(text.substring(matcher.start(), matcher.end()));
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2015-04-27
      • 1970-01-01
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      相关资源
      最近更新 更多