javascript新regexp动态

时间:2018-08-07 14:15:20

标签: javascript php regex string

我正在创建动态regex,但是我对如何转义字符有疑问,因此可以对此有所了解吗?

我正在使用具有某些后端配置的PHP,并且管理员可以从后端添加regexp来验证无效字符,并且我在PHP上获得了此值,所以我做了

var regex = RegExp(<?php echo $regex ?>);

但是我遇到类似SyntaxError: Invalid regular expression:的错误,我知道我需要对动态字符进行转义,但不确定如何。

编辑

我正在尝试从后端获取该值

<>{}[\]!@#$+=%^*()/;

新编辑

根据@anubhava的建议,我用preg_quote()来转义特殊字符,但是在Regex.test上,它总是失败,这意味着即使它应该返回true,也总是会得到错误。

这是我的代码,

var invalidCharRe = new RegExp(SOME_MY_VARIABLE);
var result = invalidCharRe.test(value)

其中SOME_MY_VARIABLE是动态特殊字符(我从preg_quote()从PHP获得,而value是我的文本框值

1 个答案:

答案 0 :(得分:3)

由于您使用folderlist=["folder1","folder2","folder3","folder4"] i=0 for i in range(4): os.chdir(r"//Desktop/foldersforreading/folderlist[i]") file=pd.read_table('file.txt',sep=',',header=0, index_col=None) #do something #move to next one i=i+1 来回显正则表达式,因此可以利用php的preg_quote function来预先转义所有特殊的正则表达式元字符,如下所示:

php

请注意,这里不需要调用var regex = /<?php echo preg_quote($regex, '/'); ?>/ ,因为Java总是会为regex获取静态字符串。