以 2 个字母开头并以 3 个字母结尾的匹配正则表达式
Regex for match beginning with 2 letters and ending with 3 letters
示例输入:
'Please find the ref AB45676785567XYZ. which is used to identify reference number'
示例输出:
'AB45676785567XYZ'
我需要 RegExp
到 return 完全符合我要求的比赛;即前 2 个和后 3 个字符为字母的子字符串。
前 2 个和后 3 个字母未知。
我已经试过了 RegExp
:
[a-zA-Z]{2}[^\s]*?[a-zA-Z]{3}
但未按预期匹配。
以 2 个字母开头:
[a-zA-Z]{2}
中间的数字:
\d+
以 3 个字母结尾:
[a-zA-Z]{3}
完整的正则表达式:
[a-zA-Z]{2}\d+[a-zA-Z]{3}
如果中间的文字是Alpha-Numeric,可以这样用:
[A-Z]{2}[^\s]+[A-Z]{3}
您当前的 RegExp
匹配以下用代码块标记的单词:
Please
find the ref AB45676785567XYZ
. which is used to identify
reference
number
这是因为您的 RegExp
、[a-zA-Z]{2}[^\s]*?[a-zA-Z]{3}
要求:
[a-zA-Z]{2}
以 2 个字母开头(无论大小写)
[^\s]*?
包含任何非空格的内容
[a-zA-Z]{3}
以 3 个字母结尾(无论大小写)
在您当前的示例中,将字母限制为大写将仅匹配您要查找的匹配项:
[A-Z]{2}[^\s]+[A-Z]{3}
或者,要求 2 个开头字母和 3 个结尾字母之间的数字也会产生您想要的匹配:
[a-zA-Z]{2}\d+[a-zA-Z]{3}
这里真正重要的是单词边界 \b
,试试:\b[a-zA-Z]{2}\w+[a-zA-Z]{3}\b
解释:
\b
- 单词边界
[a-zA-Z]{2}
- 匹配任意字母,2 次
\w+
- 匹配一个或多个单词字符
[a-zA-Z]{3}
- 匹配任意字母,3 次
\b
- 单词边界
注意你的要求是模棱两可的,因为任何由 5 个或更多字母组成的单词都会匹配模式
示例输入:
'Please find the ref AB45676785567XYZ. which is used to identify reference number'
示例输出:
'AB45676785567XYZ'
我需要 RegExp
到 return 完全符合我要求的比赛;即前 2 个和后 3 个字符为字母的子字符串。
前 2 个和后 3 个字母未知。
我已经试过了 RegExp
:
[a-zA-Z]{2}[^\s]*?[a-zA-Z]{3}
但未按预期匹配。
以 2 个字母开头:
[a-zA-Z]{2}
中间的数字:
\d+
以 3 个字母结尾:
[a-zA-Z]{3}
完整的正则表达式:
[a-zA-Z]{2}\d+[a-zA-Z]{3}
如果中间的文字是Alpha-Numeric,可以这样用:
[A-Z]{2}[^\s]+[A-Z]{3}
您当前的 RegExp
匹配以下用代码块标记的单词:
Please
find the refAB45676785567XYZ
. which is used toidentify
reference
number
这是因为您的 RegExp
、[a-zA-Z]{2}[^\s]*?[a-zA-Z]{3}
要求:
[a-zA-Z]{2}
以 2 个字母开头(无论大小写)[^\s]*?
包含任何非空格的内容[a-zA-Z]{3}
以 3 个字母结尾(无论大小写)
在您当前的示例中,将字母限制为大写将仅匹配您要查找的匹配项:
[A-Z]{2}[^\s]+[A-Z]{3}
或者,要求 2 个开头字母和 3 个结尾字母之间的数字也会产生您想要的匹配:
[a-zA-Z]{2}\d+[a-zA-Z]{3}
这里真正重要的是单词边界 \b
,试试:\b[a-zA-Z]{2}\w+[a-zA-Z]{3}\b
解释:
\b
- 单词边界
[a-zA-Z]{2}
- 匹配任意字母,2 次
\w+
- 匹配一个或多个单词字符
[a-zA-Z]{3}
- 匹配任意字母,3 次
\b
- 单词边界
注意你的要求是模棱两可的,因为任何由 5 个或更多字母组成的单词都会匹配模式