首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式严格检验

问正则表达式严格检验
EN

Stack Overflow用户
提问于 2021-01-16 06:09:41
回答 2查看 84关注 0票数 1

我正在尝试创建regex,其中用户必须输入完全相同的东西,而不是额外的。

这是我的regex;/[a-zA-Z0-9][a-zA-Z0-9\-]*\.myshopify\.com/

例如,当我用myshop.myshopify.coma测试时,它返回true或myshop.myshopify.com myshop123.myshopify.com仍然返回true。

我想得到的是,如果用户输入myshop.myshopify.coma或myshop321.myshopify.com myshop123.myshopify.coma,则不应该匹配。

只有当整个输入与()=>%$ etc.myshopify.com完全相同时,它才应该匹配

在我的regex中应该包含什么来严格地测试一件事情。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-16 06:18:39

您可以使用边界型断言来匹配输入(^)和结束($)的开头,以确保输入完全匹配。

​

代码语言:javascript
复制
const pattern = /^[a-zA-Z0-9][a-zA-Z0-9\-]*\.myshopify\.com$/

console.log(pattern.test('myshop.myshopify.com')) // true
console.log(pattern.test('myshop.myshopify.coma')) // false
console.log(pattern.test('myshop.myshopify.com myshop123.myshopify.com')) // false

​

票数 2
EN

Stack Overflow用户

发布于 2021-01-16 08:10:26

你现在可以像“A--”这样的输入,所以除了开始和结束线锚的好点,你可能需要重新考虑你的模式。也许是这样:

代码语言:javascript
复制
^[a-z\d]+(?:-[a-z\d]+)*\.myshopify\.com$

请参阅在线演示

  • ^ -启动线锚.
  • [a-z\d]+ - 1+任何alnum字符.
  • (?: -开放非捕获组:
    • -[a-z\d]+ -一个文字连字符,后面跟着1+ alnum。
    • )* -关闭非捕获组并匹配0次或多次。

  • \.myshopify\.com -匹配一个".myshopify.com“字面意思。
  • $端线锚.

第二个选择是使用负面展望来实现同样的概念:

代码语言:javascript
复制
^(?!-|.*-[-.])[a-z\d-]+\.myshopify\.com$

请参阅在线演示

  • ^ -启动线锚.
  • (?! -负展望:
    • - -一种主要的催眠
    • | -或:
    • .*-[-.] -除了换行符0或更多次以外的任何字符,直到使用另一个下线或文字点的下划线。
    • ) -关闭负前瞻。

  • [a-zA-Z\d]+ - 1+任何alnum字符.
  • \.myshopify\.com -匹配一个".myshopify.com“字面意思。
  • $端线锚.

在这两种情况下,我都使用了全局和不区分大小写的标志:/<pattern>/gi。见下面的样本:

​

代码语言:javascript
复制
const patt1 = /^[a-z\d]+(?:-[a-z\d]+)*\.myshopify\.com$/gi
console.log(patt1.test('myshop.myshopify.com'))
console.log(patt1.test('myshop-.myshopify.com'))

const patt2 = /^(?!-|.*-[-.])[a-z\d-]+\.myshopify\.com$/gi
console.log(patt2.test('myshop.myshopify.com'))
console.log(patt2.test('myshop-.myshopify.com'))

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65746962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档