0

Input! + word + digits文字列があり、文字列を削除してから削除したいCalc! + word + digits。私の試みも含まれています。

入力 : IF(入力!B34 + 計算!B45)
出力 : 入力!B34 計算!B45

私の試み:

パターン findMyPattern = Pattern.compile("Input!\\w\\d|" + worksheetName+ "!.+?");
        マッチャー foundAMatch = findMyPattern.matcher(input);
        HashSet hashSet = new HashSet();
        while (foundAMatch.find()) {
            文字列 s = foundAMatch.group(0);
            hashSet.add(s);
        }

どの正規表現を使用すればよいですか? いくつか使ってみました。しかし、私はそれらの専門家ではありません。いくつかのアイデアが役立ちます。

4

1 に答える 1

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

于 2013-02-13T19:37:10.250 に答える