0

私はJavaScriptでこの文字列を持っています:

s = "</p><ol><li>First\n</li><li>Second\n</li></ol><p>"

次に、これを行います (外側の "</p>...<p>" を削除するため):

s = s.replace(/^<\/([^> ]+)[^>]*>(.*)<\1>$/,"$2");

何も起こりません (s は変更されておらず、match() を使用すると false が返されます)、 http://www.regular-expressions.info/javascriptexample.htmlで試してみると、うまくいきます!

私はあらゆる種類のことを試しました(別の regExp オブジェクトを作成する、//g を使用する、^$ を取り出す、[^> ]+ を [a-z0-9]* に置き換える...)が、何も違いはありません.

それは私を夢中にさせています。誰かが私が間違っていることを教えてもらえますか?

4

1 に答える 1

1

問題は単に.newlines と一致しないこと\nです。

を に置き換える.*[\s\S]*、正規表現が機能するはずです。

[\s\S]は、任意のスペースまたは非スペース文字に一致することを意味します。これは、任意の文字に一致することと同等です。

于 2013-03-14T12:05:35.593 に答える