【问题标题】:Regex expression for start and end with characters in between numbers以数字之间的字符开头和结尾的正则表达式
【发布时间】:2021-03-12 02:22:52
【问题描述】:
我在 javascript 中有一个要求,其中单词的开头和结尾是数字之间的字符。
例如S652354536667U
我尝试了模式
(/[A-Z]\d+[A-Z]$/).test(S652354536667U) // returns true ok
(/[A-Z]\d+[A-Z]$/).test(S65235Y4536667U) // returns true needed false
但它允许介于 S65235Y4536667U 之间的字符被接受。
感谢任何帮助。
谢谢
【问题讨论】:
标签:
javascript
reactjs
regex
【解决方案1】:
您需要在正则表达式的开头放置一个插入符号,以指示第一个字母在字符串的开头,即:
^[A-Z]\d+[A-Z]$
【解决方案3】:
你一开始就离开了caret。
["S652354536667U", "S65235Y4536667U"].forEach(item => {
console.log(/^[A-Z]\d+[A-Z]$/.test(item))
})
【解决方案4】:
您需要在 reg ex 中将 ^ 放在开头,将 $ 放在末尾。否则,如果模式匹配输入中的其他任何地方,它将返回 true
(/^[A-Z]\d+[A-Z]$/).test(S652354536667U) // returns true
(/^[A-Z]\d+[A-Z]$/).test(S65235Y4536667U) // returns true
查看下图。它没有指定起始位置。所以,从匹配 reg ex 的字符 'Y' 开始
下面是起始位置