根据Javascript中的RegEx模式测试字符串

Test a string against a RegEx Pattern in Javascript

本文关键字:测试 字符串 模式 RegEx Javascript 中的 根据      更新时间:2024-05-21

我正在尝试使用正则表达式测试字符串
^(?:'(|%[0-9]+)(?:'s+|%[0-9]+|') and+|') or+|')+|and|or|'()*$
我已经针对不同的场景测试了这个正则表达式,并很好地满足了我的需求。我曾经http://gskinner.com/RegExr/测试它。
当我试图在javascript中使用它时,它会给我运行时错误,说正则表达式无效。我正在使用以下代码

var pattern = new RegExp("^(?:'(|%[0-9]+)(?:'s+|%[0-9]+|') and+|') or+|')+|and|or|'()*$");
var filterExpress = this.model.FilterExpression();
var result = pattern.test(filterExpress);

当我尝试使用低于

var pattern = /^(?:'(|% [0 - 9]+)(?:'s+ |% [0 - 9]+|') and+|') or+|')+ | and | or|'() * $/; 

它总是返回一个false。请帮忙。

使用它来声明正则表达式:

re = /^(?:'(|%[0-9]+)(?:'s+|%[0-9]+|') and+|') or+|')+|and|or|'()*$/;

OR使用RegExp对象:

var pattern = new RegExp("^(?:''(|%[0-9]+)(?:''s+|%[0-9]+|'') and+|'') or+|'')+|and|or|''()*$");

请记住,您需要在RegExp构造函数中进行双重转义。