2011-05-08 22 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çÇáéíóúãõÁÉÍÓÚÃÕ]+)"); 

\逃脱,/从起点和终点删除。

相关问题