0

2種類のコメントブロックがあります

<!-- asdfasd //-->

<!--asdfasd-->

    <!--
<span onclick="window.open('http://www.abc.com?xyz=asfasdfasd')">magic</span>
-->

私は 2 番目/3 番目だけを一致させる必要があり、このパターンがあります。非常に多くの組み合わせを試しましたが、運がありません。また、コメントにはすべての数字/アルファベット/特殊文字が含まれています

<!--[\s\S]*?-->
4

6 に答える 6

0

上記の正確な文字列の場合、これは機能します:

<!--[^-/]+-->

ただし、// がコメント内のどこかにある場合、機能しません。

より正確な解決策を得るには、もう少し情報が必要です

乾杯タネリ

于 2012-08-15T21:08:39.443 に答える
0

関数を使用するだけです:

これは私が信じている最も正しい方法です。

var str='<!--asdfasd-->';

var matches= str.match(/<!--.*?(\/*)-->/s)

if (matches&&!matches[1].length>1) alert('You got me :)')

説明: 「//」があるかどうかに関係なく、最初にキャプチャします。

次に、2 番目の一致の長さをチェックします。任意の数の '/' に一致します。

また、スラッシュが 2 つ以上ある場合は、'false' と警告されます。

http://jsfiddle.net/WNM7G/2/

于 2012-08-15T21:11:31.340 に答える
0

これはそれを行う必要があります:

<!--[^\/\s]+-->
于 2012-08-15T21:12:17.427 に答える
0

このパターンを試してください:

<!-- *[a-z]+ *-->

それはのために働くはず<!--asdfasd-->です<!-- asdfasd -->

編集

また、コメントにはすべての数字/アルファベット/特殊文字が含まれていますか???

エスケープを忘れずに、予想されるすべての特殊文字を追加します。

[a-zA-Z0-9"!\?_-]+
于 2012-08-15T21:13:01.760 に答える
0

次のパターンを試してください:

<!--[\s\S]+?-->

それは私のために働いています。

于 2014-02-26T05:41:48.060 に答える
0
<!--(\\?|.|\s).*[^/^/]-->

これは私のために働いています

于 2012-08-15T22:43:05.540 に答える