不带 000 的 3 位数字的正则表达式
Regular Expression for 3 digit without 000
我想在Google表单上写一个正则表达式
第一个字符在 1 到 9 之间
第二和第三个字母(大写)
接下来的 3 个字符应该是数字,如 541 或 001 但不是 000
这个表达式也取000
[1-9][A-Z]{2}[0-9]{3}
使用负数 look-ahead 以避免末尾的三个零:
[1-9][A-Z]{2}(?!000)[0-9]{3}
使用交替:
[1-9][A-Z]{2}([1-9][0-9][0-9]|[0-9][1-9][0-9]|[0-9][0-9][1-9])
这里,
[1-9]
- 匹配从 1
到 9
的 1 个数字
[A-Z]{2}
- 两个大写 ASCII 字母
([1-9][0-9][0-9]|[0-9][1-9][0-9]|[0-9][0-9][1-9])
- 3 个选项:
[1-9][0-9][0-9]
- 以 1
开头的 3 位数字
[0-9][1-9][0-9]
- 中间有 1
的 3 位数
[0-9][0-9][1-9]
- 以 1
结尾的 3 位数字
另请参阅 this regex demo。
使用交替运算符
[1-9][1-9][1-9]|0[1-9][1-9]|00[1-9]|0[1-9]0
我想在Google表单上写一个正则表达式
第一个字符在 1 到 9 之间 第二和第三个字母(大写) 接下来的 3 个字符应该是数字,如 541 或 001 但不是 000
这个表达式也取000
[1-9][A-Z]{2}[0-9]{3}
使用负数 look-ahead 以避免末尾的三个零:
[1-9][A-Z]{2}(?!000)[0-9]{3}
使用交替:
[1-9][A-Z]{2}([1-9][0-9][0-9]|[0-9][1-9][0-9]|[0-9][0-9][1-9])
这里,
[1-9]
- 匹配从1
到9
的 1 个数字
[A-Z]{2}
- 两个大写 ASCII 字母([1-9][0-9][0-9]|[0-9][1-9][0-9]|[0-9][0-9][1-9])
- 3 个选项:[1-9][0-9][0-9]
- 以1
开头的 3 位数字
[0-9][1-9][0-9]
- 中间有1
的 3 位数[0-9][0-9][1-9]
- 以1
结尾的 3 位数字
另请参阅 this regex demo。
使用交替运算符 [1-9][1-9][1-9]|0[1-9][1-9]|00[1-9]|0[1-9]0