gpt4 book ai didi

javascript - 根据 Javascript 中的正则表达式模式测试字符串

转载 作者:行者123 更新时间:2023-11-28 08:41:17 25 4
gpt4 key购买 nike

我正在尝试针对正则表达式测试字符串
^(?:\(|%[0-9]+)(?:\s+|%[0-9]+|\) 和+|\) 或+|\)+|和|或|\( )*$
我已经针对不同的场景测试了这个正则表达式,并且可以很好地满足我的需求。我用过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|\()*$/;

或使用RegExp对象:

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

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

关于javascript - 根据 Javascript 中的正则表达式模式测试字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20467084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com