正则表达式:删除单词和数字

时间:2013-02-13 19:33:19

标签: java regex

我有一个字符串,我想从中删除字符串Input! + word + digitsCalc! + word + digits。我也包括了我的尝试。

Input : IF(Input!B34 + Calc!B45)
Output : Input!B34 Calc!B45

我的尝试:

Pattern findMyPattern = Pattern.compile("Input!\\w\\d|" + worksheetName+ "!.+?");
        Matcher foundAMatch = findMyPattern.matcher(input);
        HashSet hashSet = new HashSet();
        while (foundAMatch.find()) {
            String s = foundAMatch.group(0);
            hashSet.add(s);
        }

我应该使用什么正则表达式?我尝试过使用其中的一些。但我不是他们的专家。一些想法会很有用。

1 个答案:

答案 0 :(得分:3)

您可以使用此正则表达式:

"(?:Input|Calc)![a-zA-Z]\\d+"

说明:

(?:Input|Calc)  // Match `Input or Calc`
 !              // Followed by !
[a-zA-Z]        // Followed by an alphabetical character
\\d+            // Then digits.

并将其与Matcher#find一起使用,然后将matcher.group()添加到Set