0
私は現在このスクリプトにこれを持っており、なぜそれが動作していないのか分かりません。これは、正規表現のテスターで動作し、それはかなり簡単な正規表現です。 この正規表現がJavascriptで動作しないのはなぜですか?
var page = '<div id="loginOverlay" class="loginOverlay">' +
'<div id="loginForm">' +
'<form name="loginForm" method="post" action="/test.jspx" onsubmit="grayLoginAnonymous();return false;" style="margin:0px;" autocomplete="off"><input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="21a9e5a4197cfaefec409d8473f29a6e" />'+
' </form>'+
' </div> '+
' </div>';
var pattern = /<input type='hidden' name='org.apache.struts.taglib.html.TOKEN' value='((\d|\w)+)' \/>/;
var match = page.match(pattern);
document.write(match);
console.log(page);
console.log(match);
</script>
試合は 'null' を返します。 誰かが問題を指摘できますか?
var pageにそのパターンの前後の文字が含まれているときに、そのパターンと正確に一致させようとしているからだと思います。 。*を最初と最後に入れてみてください。新しい行にまたがって一致を指定する必要があるかもしれません。 –
'.'は正規表現の中の「任意の文字」を意味することに注意してください。したがって、リテラルドットにもマッチしますが、正規表現で実際のドットをマッチさせたい場合は、より具体的で '\ .'と書かなければなりません。 –
私は二重引用符と一重引用符について間違いでした。みんなありがとう。 –