2011-05-08 30 views
1

正則表達式Javascript,是否可以連接?是否有可能在Javascript中使用Split Regexp連接變量?例如:var.split(/ [A-Z]/+變量+/ d /);

例1:(工作例)

var reg = new RegExp(/(\d+): ([A-Za-z0-9çÇáéíóúãõÁÉÍÓÚÃÕ]+): ([A-Za-z0-9çÇáéíóúãõÁÉÍÓÚÃÕ]+)/); 
var arr = all_titles.split(reg); 

我試圖做到這一點,但我無法弄清楚如何連接,原因其實我是想在它來連接一個變量,但如果我添加行情,它只是不工作。

出2:

var reg = new RegExp("/(\d+): ([A-Za-z0-9çÇáéíóúãõÁÉÍÓÚÃÕ]+): ([A-Za-z0-9çÇáéíóúãõÁÉÍÓÚÃÕ]+)/"); 
var arr = all_titles.split(reg); 

的實例2不出於某種原因(不變量,甚至任何串聯),然後我扯下了分隔符和仍然沒有工作。

我想要做的就是這樣的事情 - > 20:lalalalala:whateverIsWritten

var variable = "lalalalala"; 
var reg = new RegExp("/(\d+): "+variable+": ([A-Za-z0-9çÇáéíóúãõÁÉÍÓÚÃÕ]+)/"); 
var arr = all_titles.split(reg); 

提前感謝!

+0

我看到你試圖支持UTF8。如果你用\ u00c0- \ u01ff代替ÇÇáéíóãõÁÉÓÓÃÕÕ,那麼你可以做得更好,從而以更少的代碼支持更多的字符。 – Bakudan 2011-05-08 14:07:19

回答

2

可以編譯從一個變量正則表達式,例如:

var regex = new RegExp(); 

var src = "\\s"; // don't forget to escape slashes! 
var mods = "g"; 
regex.compile(src, mods); 

alert(regex.source); 
+0

不推薦使用RegExp()。compile()方法 – 2015-02-20 00:27:20

3

試試這個:

new RegExp("(\\d+): "+variable+": ([A-Za-z0-9çÇáéíóúãõÁÉÍÓÚÃÕ]+)"); 

\逃脫,/從起點和終點刪除。

相關問題