亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScriptRegex:如何在正則表達式中放置變量?

JavaScriptRegex:如何在正則表達式中放置變量?

LEATH 2019-07-03 16:51:01
JavaScriptRegex:如何在正則表達式中放置變量?例如:function(input){     var testVar = input;     string = ...     string.replace(/ReGeX + testVar + ReGeX/, "replacement")}但這當然是行不通的:)有什么辦法可以做到嗎?
查看完整描述

3 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

可以使用RegExp對象:

var regexstring = "whatever";var regexp = new RegExp(regexstring, "gi");var str = "whateverTest";
var str2 = str.replace(regexp, "other");document.write(str2);

然后你可以構造regexstring以任何你想要的方式。

你可以讀到更多關于它的內容。這里.


查看完整回答
反對 回復 2019-07-03
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

要從JavaScript中的變量構建正則表達式,需要使用RegExp具有字符串參數的構造函數。

function reg(input) {
    var flags;
    //could be any combination of 'g', 'i', and 'm'
    flags = 'g';
    return new RegExp('ReGeX' + input + 'ReGeX', flags);}

當然,這是一個很幼稚的例子。它假設input已正確轉義為正則表達式。如果您正在處理用戶輸入,或者只是希望更方便地匹配特殊字符,則需要轉義特殊字符:

function regexEscape(str) {
    return str.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')}function reg(input) {
    var flags;
    //could be any combination of 'g', 'i', and 'm'
    flags = 'g';
    input = regexEscape(input);
    return new RegExp('ReGeX' + input + 'ReGeX', flags);}


查看完整回答
反對 回復 2019-07-03
  • 3 回答
  • 0 關注
  • 1162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號