更新しました
正規表現を打ち負かすためにあなたの助けが必要です! 次のような AJAX 応答の形式で外部 CSS ファイルを取得しています。
$.when($.get("style.css")).done(function(response) {
var myCSS = response;
var patt = new RegExp("#mydiv(.*?)}","g");
var match = myCSS.match(patt);
alert(match);
}
ここで達成しようとしているのは、 #mydivから最後の閉じ括弧}までのすべてを取得したいということですが、何らかの理由でalert(match)がnullを返します。
最も面倒なのは、パターンを次のように変更するときです。
var patt = new RegExp("#mydiv(.*?){","g"); // <-- Changed } to {
alert(match)は返されるはずのものを返します --> #mydiv .mylink {
または、同じ CSS を次のような単純な文字列の形式で表す場合:
$.when($.get("style.css")).done(function(response) {
var myCSS = "The same style.css but copy-pasted here";
var patt = new RegExp("#mydiv(.*?)}","g");
var match = myCSS.match(patt);
alert(match);
}
期待どおりに私の初期パターンで動作します。ここで何が欠けているのでしょうか?