以字母开头,必须包含字母和数字
Start with letter, must container letter and numbers
我花了好几个小时来寻找匹配这个标准的正则表达式:
需要找大文如下:
- 以 2 位数字开头
- 以“”结尾
- 正好 7 个字符
- 必须包含数字和字母
- 字母仅大写
这里是一个文本示例:(需要匹配“159C5F”
AT exempt acc to §§ 4 Nr. 1A UStG iVm 6 USTG
254,49/100L 977,23
159C5F Magnatec St-St 0W-30 D, 20L E4 0,00%
Commodity Code :
以下是我的一些尝试:
(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6})
[0-9]{2}\S*[a-zA-Z0-9]{4}
[0-9]\S*[a-zA-Z0-9]{6}
[a-zA-Z0-9]{6}
如果我正确理解你的要求,你可以使用这样的东西:
\b\d\d(?=\S*?[A-Z]\S*?\s)[A-Z0-9]{4}\s
Demo.
一些注意事项:
如果您不想在最后捕获 space,您可以将最后的 \s
替换为 Lookahead(即 (?=\s)
) .
如果您只想接受 ASCII space 字符而不接受其他白色 space 字符,您可以使用 [ ]
而不是 \s
在这两种情况下。
您可以使用字边界和正向前瞻来断言最后的 space 但不匹配它以匹配仅获得 159C5F
\b\d{2}(?=[A-Z0-9]{4} )[A-Z0-9]*[A-Z][A-Z0-9]*\b
\b
字边界
\d{2}
匹配2个数字
(?=
正向前瞻,断言右边的是
[A-Z0-9]{4}
匹配 4 次任何列出的后跟 space
)
关闭前瞻
[A-Z0-9]*[A-Z][A-Z0-9]*
匹配 0+ 次 A-Z0-9 至少有一个大写字符
\b
字边界
我花了好几个小时来寻找匹配这个标准的正则表达式:
需要找大文如下:
- 以 2 位数字开头
- 以“”结尾
- 正好 7 个字符
- 必须包含数字和字母
- 字母仅大写
这里是一个文本示例:(需要匹配“159C5F”
AT exempt acc to §§ 4 Nr. 1A UStG iVm 6 USTG
254,49/100L 977,23
159C5F Magnatec St-St 0W-30 D, 20L E4 0,00%
Commodity Code :
以下是我的一些尝试:
(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]{6})
[0-9]{2}\S*[a-zA-Z0-9]{4}
[0-9]\S*[a-zA-Z0-9]{6}
[a-zA-Z0-9]{6}
如果我正确理解你的要求,你可以使用这样的东西:
\b\d\d(?=\S*?[A-Z]\S*?\s)[A-Z0-9]{4}\s
Demo.
一些注意事项:
如果您不想在最后捕获 space,您可以将最后的
\s
替换为 Lookahead(即(?=\s)
) .如果您只想接受 ASCII space 字符而不接受其他白色 space 字符,您可以使用
[ ]
而不是\s
在这两种情况下。
您可以使用字边界和正向前瞻来断言最后的 space 但不匹配它以匹配仅获得 159C5F
\b\d{2}(?=[A-Z0-9]{4} )[A-Z0-9]*[A-Z][A-Z0-9]*\b
\b
字边界\d{2}
匹配2个数字(?=
正向前瞻,断言右边的是[A-Z0-9]{4}
匹配 4 次任何列出的后跟 space
)
关闭前瞻[A-Z0-9]*[A-Z][A-Z0-9]*
匹配 0+ 次 A-Z0-9 至少有一个大写字符\b
字边界