返回
正则表达式教程:军官/士兵证校验正则
正则表达式
2024-02-28 16:10:01
一、正则解释
^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$
说明:
^
: 匹配字符串的开头。[\u4E00-\u9FA5]
: 匹配一个汉字。(字第)
: 匹配"字第"
。([0-9a-zA-Z]{4,8})
: 匹配 4 到 8 位的数字或字母。(号?)
: 匹配可选的"号"
。$
: 匹配字符串的结尾。
二、使用场景
此正则表达式可用于验证军官/士兵证证号的格式是否正确,例如:
军字第2001988号
士字第P011816X号
三、代码示例
JavaScript
const regex = /^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$/;
const testText = '军字第2001988号,士字第P011816X号';
const matches = testText.match(regex);
console.log(matches); // ['军字第2001988号', '士字第P011816X号']
Java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String regex = "^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String regex = "^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$";
String testText = "军字第2001988号,士字第P011816X号";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(testText);
while (matcher.find()) {
System.out.println(matcher.group()); // 军字第2001988号 士字第P011816X号
}
}
}
quot;;
String testText = "军字第2001988号,士字第P011816X号";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(testText);
while (matcher.find()) {
System.out.println(matcher.group()); // 军字第2001988号 士字第P011816X号
}
}
}
PHP
<?php
$regex = '/^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$/';
$testText = '军字第2001988号,士字第P011816X号';
preg_match_all($regex, $testText, $matches);
print_r($matches[0]); // ['军字第2001988号', '士字第P011816X号']
Python
import re
regex = r'^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)import re
regex = r'^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(号?)$'
testText = '军字第2001988号,士字第P011816X号'
matches = re.findall(regex, testText)
print(matches) # ['军字第2001988号', '士字第P011816X号']
#x27;
testText = '军字第2001988号,士字第P011816X号'
matches = re.findall(regex, testText)
print(matches) # ['军字第2001988号', '士字第P011816X号']