gpt4 book ai didi

javascript - 我正在尝试在 javascript Controller 中使用正则表达式验证字符串?

转载 作者:行者123 更新时间:2023-12-02 23:20:12 24 4
gpt4 key购买 nike

我正在尝试使用正则表达式验证字符串。该字符串应仅包含列出的单词和字符。

(即)字符串可以接受 and、or、not、数字、(,) 和空格。

我尝试使用正则表达式,但它没有按预期工作。

/(\d|and|or|not|\(|\)|\s)*/

当我在 salesforce Lightning 组件 controller.js 中使用它时,它没有提供扩展结果。

input : 1 and ( 2 or 3 )
expected output : true

input : 1 aaa ( 2 or 3 )
expected output : false

提前致谢。

最佳答案

问题是您已经定义了您需要任意数量的这些,并且您不关心该位置。因此字符串 1 aaa ( 2 or 3 ) 匹配 1,以及 (空格)、 (, 2and3) 因此它满足正则表达式。当有其他内容匹配时,aaa 不匹配的事实将被忽略。

但是,如果您使用 start and end anchors ^$,定义您的整个输入必须符合此模式,而不是它的任何子部分,这正是你想要:

const regex = /^(\d|and|or|not|\(|\)|\s)*$/;

console.log(regex.test("1 and ( 2 or 3 )")); // true
console.log(regex.test("1 aaa ( 2 or 3 )")); // false

关于javascript - 我正在尝试在 javascript Controller 中使用正则表达式验证字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56983444/

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