以特定字母结尾的 n 位数字的正则表达式
Regex for a n digit number that ends with a particular letter
如何提取:
- 一个以字母结尾(比如 "A")的 n 位数字(比如 10)的字符串,例如:4024204455A
- 12位数字,例如:192345006905
使用来自多个文本文件的正则表达式和 Go (golang)?
<?php
$input = array();
$input[] = '123456789000A';
$input[] = '123456789012';
$input[] = '12345678901';
foreach($input as $i)
{
preg_match("/^([0-9]+[a-z]{1}|[0-9]{12})$/i", $i, $m);
print_r($m);
}
输出:第一次匹配,第二次匹配,第三次不匹配
Array
(
[0] => 123456789000A
[1] => 123456789000A
)
Array
(
[0] => 123456789012
[1] => 123456789012
)
Array
(
)
您可以在非捕获组 (?:
中使用 or |
匹配 12 位数字 [0-9]{12}
或 10 位数字和一个大写字符 [0-9]{10}[A-Z]
例如:
^(?:[0-9]{12}|[0-9]{10}[A-Z])$
或者在单词边界之间匹配您的值 \b
:
\b(?:[0-9]{12}|[0-9]{10}[A-Z])\b
要匹配一位或多位数字或 10 位数字后跟一个大写字符,您可以将此正则表达式用于单词边界或锚定 $^
:
如何提取:
- 一个以字母结尾(比如 "A")的 n 位数字(比如 10)的字符串,例如:4024204455A
- 12位数字,例如:192345006905
使用来自多个文本文件的正则表达式和 Go (golang)?
<?php
$input = array();
$input[] = '123456789000A';
$input[] = '123456789012';
$input[] = '12345678901';
foreach($input as $i)
{
preg_match("/^([0-9]+[a-z]{1}|[0-9]{12})$/i", $i, $m);
print_r($m);
}
输出:第一次匹配,第二次匹配,第三次不匹配
Array
(
[0] => 123456789000A
[1] => 123456789000A
)
Array
(
[0] => 123456789012
[1] => 123456789012
)
Array
(
)
您可以在非捕获组 (?:
中使用 or |
匹配 12 位数字 [0-9]{12}
或 10 位数字和一个大写字符 [0-9]{10}[A-Z]
例如:
^(?:[0-9]{12}|[0-9]{10}[A-Z])$
或者在单词边界之间匹配您的值 \b
:
\b(?:[0-9]{12}|[0-9]{10}[A-Z])\b
要匹配一位或多位数字或 10 位数字后跟一个大写字符,您可以将此正则表达式用于单词边界或锚定 $^
: