0

私は regex101.com クイズを受けており、タスク 8 で行き詰まっています。

リクエスト: 文字列からすべての HTML タグを取り除きます。HTML タグは < と > で囲みます。

</?\w*+\s?/?> を試してみましたが、

「テスト 6/13 に失敗しました: 貪欲な量指定子を使いすぎています。たとえば、文字列 "ace" では、"ace" を返す必要があるときに "ae" を返しています。"

ただし、http://rubular.com/r/CD2zJjSFgsは機能しているようです。貪欲にならないようにするにはどうすればよいですか?

4

3 に答える 3

1

私は自分でサイトを試してみましたが、最初はテストケースにバグのある 4 ~ 5 のタスクがあり、かなり安っぽいものでしたが、管理者にメールを送信したところ、彼はそれらすべてを修正しました。現在、利用可能なすべてのタスクを完了しました。つまり、すべてのタスクが実行可能です。考えられる唯一のバグは、テスト ケースが狭すぎて、あまり一般的ではない正規表現がパスできることですが、これは当面の問題とは何の関係もありません。

@willOEM と @fge による回答、およびあなたの回答でさえ、テスト ケース 8 (空のタグが原因でテスト ケース 9 でブロックされます。ただし、空のタグを実際に削除する必要があるかどうかは議論の余地があります) またはテスト ケース 9 (フラグが指定されている場合、g追加の要件によりテスト ケース 10 でブロックされます。これがないと、テスト ケース 6 でタグを 1 つだけ削除することになります。

于 2013-01-21T02:20:09.210 に答える
1

補完文字クラスを使用します。

<[^>]+>
于 2013-01-21T01:39:10.883 に答える
0

これはあまり貪欲ではないと考えますか?

<.+?>
于 2013-01-21T01:44:44.650 に答える