【问题标题】:Get string using RegEx in Java在 Java 中使用 RegEx 获取字符串
【发布时间】:2013-03-10 07:55:49
【问题描述】:

无论我如何尝试学习 RegEx 并实施它们,我都失败了。

下面:第一个值是输入字符串,冒号后面的值是我需要的字符串。该术语将始终是 -> 输入! (A-Z) (数字) Calc! (A-Z)(数字)

例如 Input!A34 或 Calc!D93。

输入:需要替换为一些常量/val

  • 添加(输入!A34 + 计算!D93):输入!A34,计算!D93
  • 输入!D343 = 1000:输入!D343
  • Calc!D71=IF(HasValue(Input!D4), "FormIs(PartofReturn)", IFERROR(1/0)): Calc!D71,Input!D4

    我应该使用什么模式这 ?

    我的尝试:

    模式 findMyPattern = Pattern.compile("(?:Input|" + "Calc!" + ")![a-zA-Z]\\d+"); 匹配器 foundAMatch = findMyPattern.matcher(input); HashSet hashSet = new HashSet(); 而(foundAMatch.find()){ 字符串 s = foundAMatch.group(0); hashSet.add(s); }
  • 【问题讨论】:

    • 我不明白你的问题。不过"Input![A-Za-z]+\\d+|Calc![A-Za-z]+\\d+"这能解决你的问题吗?
    • 我也不明白这一点。你能再通过一次吗?我认为这里有一个简单的问题,但你的措辞很复杂。
    • 是的,也许吧。但是这个问题解决了。很抱歉在这里发帖。
    • 我的错误。这是一个简单的问题,我就快到了。

    标签: java regex pattern-matching


    【解决方案1】:
    Pattern findMyPattern = Pattern.compile("(?:Input|Calc)![A-Z]\\d+");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-21
      • 2022-01-03
      • 1970-01-01
      • 1970-01-01
      • 2020-06-10
      • 2014-11-18
      • 2011-06-26
      • 2012-05-12
      相关资源
      最近更新 更多