1
私は関数を呼び出そうとしています。私は2つのパラメータを渡します。文字列とRegExpを文字列として返します。テストはうまくいくように見えますが、これはif部分に入っているためですが、解析関数が呼び出された後に結果が得られません。何が間違っているか分かりません。任意のヒント?ありがとう! .parse()
方法を備えていないRegExp
Javascriptの関数にRegExを渡す
var regEx_eNode = "S1";
var mystring = 'This is my S1ring!';
function getField(eventstr, regfield) {
var retval;
var regExpression = new RegExp(regfield,'g');
var reg_Exp;
if (regExpression.test(eventstr)) {
reg_Exp = regExpression.parse(eventstr);
alert("reg_Exp[1]");
retval = reg_Exp[1];
alert(retval);
} else {
retval = "not_available";
}
return retval;
}
alert('Result: ' + getField(mystring,regEx_eNode));
削除 '/ G'、VARのregExpression =新しい正規表現(regfield)'を使用; ':http://stackoverflow.com/questions/1520800/why- regexp-with-global-flag-in-javascript-give-wrong-results –
もしregfieldがユーザーから来たのであれば、悪い考えです。 –
Wiktorに感謝します。値を返さないでください。 – Luzidl