gpt4 book ai didi

javascript - 如何使正则表达式字符串不允许使用单引号,除非它前面有斜杠?

转载 作者:行者123 更新时间:2023-12-03 05:31:06 25 4
gpt4 key购买 nike

如何使正则表达式字符串不允许使用单引号,除非前面有斜杠?现在我们正在使用“(.*)”,但这是不好的做法。

允许的字符串:'你好吗?'“我们会做到的”

禁止的字符串:“我们会做到的”

PS:我测试的方法是使用 regex101.com

最佳答案

断言字符串从开头 (^) 到结尾 ($) 由任意数量 (*) \' 对或 (|) 任何非单引号字符 ([^'])。

const re    = /^(\\'|[^'])*$/;
const valid = str => re.test(str);
var inputs = ["Hello how are you?", "We\\'ll do it", "We'll do it"];

inputs.forEach(sentence => console.log(sentence, valid(sentence)));

或者,除非您需要一个匹配或不匹配的正则表达式,否则您可以编写一个在存在无效序列时匹配的正则表达式,然后检查它是否匹配:

const re    = /(^|[^\\])'/;
const valid = str => !re.test(str);
var inputs = ["Hello how are you?", "We\\'ll do it", "We'll do it"];

inputs.forEach(sentence => console.log(sentence, valid(sentence)));

如果单引号出现在输入字符串的开头,则开头的 ^ 必须匹配(表示无效)。

关于javascript - 如何使正则表达式字符串不允许使用单引号,除非它前面有斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40938732/

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