gpt4 book ai didi

javascript - 如何为字母数字、空格和撇号创建正则表达式,然后仅以字母数字结尾?

转载 作者:行者123 更新时间:2023-12-03 02:36:17 26 4
gpt4 key购买 nike

我正在尝试根据一些约束创建一个正则表达式,并且我使用了一些有用的资源来尝试和测试它。我知道我需要一个 anchor ($) 来检查字符串的末尾,但我想我误解了 anchor 应该放置的位置。

我知道 /([A-Za-z0-9' ])\w+/ 会给我我想要的东西,因为它包含字母数字+空格+撇号字符,但是我该如何确保它仅以字母数字结尾?

最佳答案

你那里的内容基本上是说“给我一个字母数字、撇号或空格的字符,而不是任意数量的单词”。它也可以位于任何地方,因此您的字符串也可以包含其他字符。根据您的描述,这可能不是您想要的。

我想你可能想要这个:

/^([A-Z0-9' ]+)(?:[A-Z0-9])$/i

这表示“只给我字母数字、撇号或空格,并确保末尾有字母数字”。我去掉了小写字母,只添加了 i (不区分大小写)标志,但您也可以以其他方式切换它。

(?:[A-Z0-9]) 是一个不匹配的集合,用于检查以确保此处存在字母数字。由于它在末尾的 $ 旁边向上移动,这意味着它必须直接位于字符串的末尾。您还需要在开头添加 ^ 以确保整个字符串满足此条件,而不仅仅是其中的一部分。

这是一个例子:

const pattern = /^([A-Z0-9' ]+)(?:[A-Z0-9])$/i;
['This should work', "This'll also work", "This won't'"].forEach(s =>
console.log(s, pattern.test(s))
);

关于javascript - 如何为字母数字、空格和撇号创建正则表达式,然后仅以字母数字结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48525579/

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