正好包含2个大写字母和3个数字的正则表达式
Regular Expression with exactly 2 uppercase letters and 3 numbers
我需要匹配包含两个大写字母和三个数字的单词。数字和大写字母可以在单词的任何位置。
HelLo1aa2sd:真正的
WindowA1k2j3:真正的
AAAsjs21js1:错误
ASaaak12:错误
我尝试了正则表达式,但只匹配两个大写字母:
([a-z]*[A-Z]{1}[a-z]*){2}
您可以使用regexlookaheads:
/^(?=(?:.*[A-Z].*){2})(?!(?:.*[A-Z].*){3,})(?=(?:.*'d.*){3})(?!(?:.*'d.*){4,}).*$/gm
说明:
^ // assert position at beginning of line
(?=(?:.*[A-Z].*){2}) // positive lookahead to match exactly 2 uppercase letters
(?!(?:.*[A-Z].*){3,}) // negative lookahead to not match if 3 or more uppercase letters
(?=(?:.*'d.*){3}) // positive lookahead to match exactly 3 digits
(?!(?:.*'d.*){4,}) // negative lookahead to not match if 4 or more digits
.* // select all of non-newline characters if match
$ // end of line
/gm // flags: "g" - global; "m" - multiline
Regex101
我认为,您只需要一个前瞻。
^(?=(?:'D*'d){3}'D*$)(?:[^A-Z]*[A-Z]){2}[^A-Z]*$
'd
是数字的缩写。'D
是'd
的否定,并且匹配非数字(?=
开启了积极的前瞻。(?:
打开一个非捕获组- 在
^
开始时,(?=(?:'D*'d){3}'D*$)
向前看正好三个数字,直到$
结束 - 如果条件成功,则
(?:[^A-Z]*[A-Z]){2}[^A-Z]*
匹配正好具有两个上字母的字符串,直到$
结束。[^
打开一个否定的字符类
在regex101 上演示
如果您想只允许使用字母数字字符,请像本演示中那样用[a-z'd]
替换[^A-Z]
。
使用String.match
函数的解决方案:
function checkWord(word) {
var numbers = word.match(/'d/g), letters = word.match(/[A-Z]/g);
return (numbers.length === 3 && letters.length === 2) || false;
}
console.log(checkWord("HelLo1aa2s3d")); // true
console.log(checkWord("WindowA1k2j3")); // true
console.log(checkWord("AAAsjs21js1")); // false
console.log(checkWord("ASaaak12")); // false
没有前瞻性,纯正则表达式:
http://regexr.com/3ddva
基本上,只是检查每一个案例。
相关文章:
- 可以't将几个数字设置为<输入类型=“;数字“>
- 正好包含2个大写字母和3个数字的正则表达式
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- 计算HTML表TD中两个数字之间的百分比
- 如何使用 JavaScript 将两个数字相加
- 用于添加两个数字的javascript闭包的用法
- 通过变量在两个数字之间切换
- 在数字字符串的最后两个数字上加上小数
- 在HTML/JavaScript中减去两个数字
- 删除第一个数字块之后的所有数字
- PHP函数识别3个数字中最低的一个并更改其类
- 将文本字段限制为三个数字
- 如何创建一个确定2个数字之间值的函数
- 把两个数字加在一起,得到5+10=510,而不是15
- 敲除:如何对两个数字输入进行双向绑定
- 在 JavaScript 中使用最后两个数字获取年份
- Jquery if 在 2 个数字之间
- regex:如何捕获字符串中的三个数字,而不是字符串的其余部分
- Regex-我需要在第一个数字后面拆分一个字符串
- 编写一个包含一个大写字母和六个数字的javascript表达式