Я использую regex + php. Я бы совпадал с первыми двумя буквами первых двух слов строки
Например, для строки:
Mr Christophe Mailler Jean Dupon
Мне нужно сопоставить:
Ch Ma
Я пробовал это регулярное выражение:
(?:Mr|Mme)\s+\b([a-zA-Z][a-zA-Z])
Но он соответствует только Ch
Любая помощь, пожалуйста?
Вам нужно также расширить шаблон, совпадающий со вторым словом, следующим образом:
(?:Mr|Mme)\s+([a-zA-Z]{2})\S*\s+([a-zA-Z]{2})
Я также рекомендую использовать поддержку Unicode в механизме PCRE, используя шаблон, подобный этому:
(?:Mr|Mme)\s+(\pL{2})\S*\s+(\pL{2})
Например:
$input = "Mr Christophe Mailler Jean Dupon"; preg_match("/(?:Mr|Mme)\s+(\pL{2})\S*\s+(\pL{2})/iu", $input, $output); echo $output[1] . ' ' . $output[2]; // Ch Ma