Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 一个或两个字母后跟3-4个数字_Regex - Fatal编程技术网

Regex 一个或两个字母后跟3-4个数字

Regex 一个或两个字母后跟3-4个数字,regex,Regex,我试图找到正确的正则表达式模式,允许一个或两个字母后跟3到5个数字,并在末尾可选一个字母。最后,应允许非字母数字包装字符串: Allowed M394 ,MP4245) TD493! X4958A V49534@ U394U A5909. Not Allowed TED492 R32 R4!3 U394UU A5909AA 5349A 我找到了一个例子,但并不完全有效: 谢谢你的帮助继续,试试看。看,这其实很简单 ^[^A-Za-z]*[A-Za-z]{1,2}[0-9]{3,5}.?[^

我试图找到正确的正则表达式模式,允许一个或两个字母后跟3到5个数字,并在末尾可选一个字母。最后,应允许非字母数字包装字符串:

Allowed
M394
,MP4245)
TD493!
X4958A
V49534@
U394U
A5909.

Not Allowed
TED492
R32
R4!3
U394UU
A5909AA
5349A
我找到了一个例子,但并不完全有效:


谢谢你的帮助

继续,试试看。看,这其实很简单

^[^A-Za-z]*[A-Za-z]{1,2}[0-9]{3,5}.?[^A-Za-z]*
我通常会建议如果你的RE真的是,使用一个“I”(用于case insistive)标志

例如:


您可以使用此正则表达式:

\b[a-zA-Z]{1,2}\d{3,5}[a-zA-Z]?\b

正则表达式的拆分

\b             # word boundary
[a-zA-Z]{1,2}  # 1 or 2 letters
\d{3,5}        # 3 to 5 digits
[a-zA-Z]?      # an optional letter
\b             # word boundary

我想这会符合你的需要

[^a-zA-Z0-9]?[a-zA-Z]{1,2}[0-9]{3,5}[a-zA-Z]?[^a-zA-Z0-9]?

我不认为
\b
\d
是基本正则表达式规范的一部分。这将丢失第二个单词
,MP4245)
它不是以
a-zA-Z
开头的。这两个字符都不是以特殊字符sop had
,MP4245)
结尾的,并且这个正则表达式确实允许这一行(请参见演示)。好的。我认为
\b
正在发挥作用。我今天学到了新东西