0

ここに文字列があります。

String message = "hi test message >< abcd < pqr <variable> xyz <tag> testing <>";

正規表現を構築しようとしているので、すべて<> <tag> <anything>を置き換えたいと思います。(.*)

私は次のことを試しました、

message = message.replaceAll("<(.*)>", "(.*)");

しかし、結果は

hi test message >(.*)

私が期待している結果はこれです

hi test message >< abcd < pqr (.*) xyz (.*) testing (.*)

誰かがこの結果を達成するのを手伝ってくれますか?

前もって感謝します!

4

4 に答える 4

2

タグの内容をキャッチするには、次の正規表現を試してください (ネストされていないと仮定して):

<([^<>])*>

これは、テスト文字列のこの部分を完全に無視することに注意してください。

< abcd < pqr
于 2013-01-11T11:51:05.027 に答える
2

次の正規表現を使用して、すべてのタイプのタグを削除します。

@"(?></?\w+)(?>(?:[^>'""]+|'[^']*'|""[^""]*"")*)|(?>(?:[>'""]+|'[^']*'|""[^""]*"")*)"
于 2013-01-11T11:52:09.230 に答える
1

<><tag><anything>および他には何も置き換えないことを本当に意味している場合は、次を試してください。

<(tag|anything)?>

空のタグを含む、囲まれたすべてのタグに一致させたい場合:

<[^<>]*>
于 2013-01-11T11:51:11.913 に答える
0

この正規表現を使用できます

"<(|tag|anything)>"
于 2013-01-11T11:55:59.573 に答える