簡體   English   中英

Javascript動態正則表達式解析

[英]Javascript Dynamic Regex Parsing

我正在嘗試這樣的正則表達式

var regex_pattern = '/cat|bat|dog/i';

regex = new RegExp(regex_pattern, "i");

var string = "A dog saw a cat and a bat";

string.match(regex);

但是它似乎沒有被解析。 這個表達方式我在做什么錯?

您已經在字符串中放置了正則表達式文字語法。 您應該使用regex文字語法:

var regex = /cat|bat|dog/i;

或將字符串(不帶定界符/修飾符)作為第一個參數傳遞給RegExp構造函數

var regex = new RegExp('cat|bat|dog', 'i');

另外,您將需要g標志(全局修飾符)以針對所有可能的匹配項測試正則表達式,否則將僅返回第一個匹配項。

完整的例子:

var regex = /cat|bat|dog/ig; //or new RegExp('cat|bat|dog', 'ig');
var string = "A dog saw a cat and a bat";
var matches = string.match(regex);
matches; //["dog", "cat", "bat"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM