1. ホーム
  2. java

[解決済み】括弧にマッチする正規表現

2022-02-16 13:23:31

質問内容

文字列中の「()」にマッチする正規表現を教えてください。

以下はシナリオです。

ある文字列

str = "abc(efg)";

で文字列を分割したい。 '(' 正規表現を使っています。

Arrays.asList(Pattern.compile("/(").split(str))

しかし、次のような例外が発生します。

java.util.regex.PatternSyntaxException: Unclosed group near index 2
/(

エスケープ '(' はうまくいかないようです。

解決方法は?

2つの選択肢があります。

まずは バック スラッシュ -- \(

あるいは、1文字なので、文字クラスに入れて、エスケープする必要がないようにすることもできます。 [(]