我不擅长构建正则表达式。 这就是为什么我问你! :)字母范围内的姓氏正则表达式
因此,即时通讯与立为姓氏的开头,例如字母范围工作:
1: X-Y
2: Ki-Kj
3: Al-Bkz
范围都代表一个特定的过程,这就是为什么我需要知道哪些正则表达式拟合姓氏。
姓氏“Albert”适合正则表达式#3,“Kioto”适合于#2。 我希望这对你有意义。
正则表达式还需要足够复杂才能处理像“Bauer-Schmidt”这样的范围。
我真的很需要你的帮助!
我不擅长构建正则表达式。 这就是为什么我问你! :)字母范围内的姓氏正则表达式
因此,即时通讯与立为姓氏的开头,例如字母范围工作:
1: X-Y
2: Ki-Kj
3: Al-Bkz
范围都代表一个特定的过程,这就是为什么我需要知道哪些正则表达式拟合姓氏。
姓氏“Albert”适合正则表达式#3,“Kioto”适合于#2。 我希望这对你有意义。
正则表达式还需要足够复杂才能处理像“Bauer-Schmidt”这样的范围。
我真的很需要你的帮助!
真的不是你应该首先使用正则表达式的问题...使用简单的字符串比较每个间隔的上限和下限。
function check_name_in_range($name) {
$ranges = [
1 => ['X', 'Y'],
2 => ['Ki', 'Kj'],
3 => ['Al', 'Bkz'],
];
foreach($ranges as $rangeNum => $range) {
if(substr($name, 0, strlen($range[0])) >= $range[0] &&
substr($name, 0, strlen($range[1])) <= $range[1]) {
return $name. ' falls into range ' . $rangeNum;
}
}
return $name. ' does not fall into any range';
}
var_dump(
check_name_in_range('Albert'),
check_name_in_range('Kjooto'),
check_name_in_range('FitsEffAll')
);
你可能婉比较之前为小写字母所有相关的字符串,使A
/a
不会成为一个问题,因为这些不相等。
我不知道你问什么了,但我了解做这样
[a-zA-Z]{2}
这会给你喜欢艾伯特人。 如果你只想要大写字母,则:
[A-Z]{2}
请自由评论你到底想要什么。 谢谢
真的不是一个正则表达式问题...您应该使用简单的字符串比较每个区间的上限和下限。 – CBroe
但是我怎样才能比较定义的参数之间的范围?例如“Ab-De”。我如何比较以“Co”开头的姓氏? – h00ligan
您能详细说明一下您需要的吗?您是否需要过滤所有以几个字母开头并以几个字母结尾的姓氏,请更新您的问题 – msoliman