var pattern = /(?<=\?)(.*?)(?=\=)/;
は「無効な量指定子」エラーをスローしています。RegEx invalid quantifier
私が試してみた:
var regexp = new RegExp("(?<=\?)(.*?)(?=\=)");
無駄にどちらか。私は=記号とバックスラッシュをエスケープしようとしました。私は迷っている。
どうすればこの問題を解決できますか?
var pattern = /(?<=\?)(.*?)(?=\=)/;
は「無効な量指定子」エラーをスローしています。RegEx invalid quantifier
私が試してみた:
var regexp = new RegExp("(?<=\?)(.*?)(?=\=)");
無駄にどちらか。私は=記号とバックスラッシュをエスケープしようとしました。私は迷っている。
どうすればこの問題を解決できますか?
javascriptの正規表現が(?<...)
後方参照がまったくサポートされていませんサポートしていないと、思われました。あなたが追加した場合
:? 'Sの後にそれが動作するはずです。
var pattern = /(?:<=\?)(.*?)(?:=\=)/;
'?:'グループを参照解除します。 OPは、他のRegExの実装から知っているルックバックを使用したいと考えています。 –
言い換えれば、JavaScriptはルック・バック・ヒントをサポートしていません。ここで便利な回避策を見つけることができます:http://blog.stevenlevithan.com/archives/mimic-lookbehind-javascript
なぜあなたはルックバックが必要ですか?あなたは?data=
タイプのパターンと一致するようにしようとしていますか? ?
のためにを見て、それを食べないでください。 :)
var data = "halsfdkjad;slfkjasdfj?data=uhtooiuhiouh?oiurhoiuhhhjkjj=9";
var myregexp = /\?(.*?)(?=\=)/g;
var match = myregexp.exec(data);
var result = "Matches found:\n";
while (match != null) {
result += "match:" + RegExp.$1 + '\n';
match = myregexp.exec(data);
}
alert(result);
回避策が見つかりました。どうやら、私はurlObjをハッシュし、 "?"と一致するパターンを適用すると、 + string + "=" ...それは配列を返します...それは面倒ですが、それは完全に動作します。
var pattern = /(\?)(.*?)(\=)/;
var urlType = urlObj.hash.match(pattern)[2];
JavaScriptはルックバックをサポートしていません。 –
回避策が見つかりました。どうやら、私はurlObjをハッシュし、 "?"と一致するパターンを適用すると、 + string + "=" ...これは配列を返します...だから面倒ですが、完全に動作します。 'varパターン= /(\?)(.*?)(\=)/; \t var urlType = urlObj.hash.match(pattern)[2]; ' – TSNev
もしあなたがただそれを望むなら、' /\?(.*?)=// exec(urlObj.hash)[1] 'も動作します。 –