0

次の種類の文字列を確認する必要があります。

has [[public transport]]ation in city? some[[times]]

関連する部分のみを返します-つまり

[[public transport]]ation some[[times]]

私はこの正規表現を使用しています:\\w*?\\[\\[(.*?)\\]\\]\\w*?

検索テキストに改行と特殊文字も含まれている場合、上記の例と拡張された例では機能しないようです。正規表現の書き方を教えてください。

4

2 に答える 2

0

この正規表現をDOTALLswitchで使用でき(?s)ます。

(?s)\\S*\\[\\[.*?\\]\\]\\S*

System.out.println("has [[public transport]]ation in city? some[[times]]".replaceAll(
    "(?s)\\S*\\[\\[.*?\\]\\]\\S*", "<$0>"));

出力:

has <[[public transport]]ation> in city? <some[[times]]>
于 2013-10-05T11:16:38.177 に答える