您的正则表达式没有涵盖两种情况。它不匹配',你可以简单地将它添加到你匹配的字符列表中。“Maria da Mara”有 2 个字符。也许减少第二个匹配组中的最少字符数。^[A-zÀ-ú]{3,} [A-zÀ-ú']{2,}.*您也可以添加一个命名的捕获组,将第一个词作为名字,将任何后续匹配项作为姓氏。^(?<first_name>[A-zÀ-ú]{3,}) (?<last_name>[A-zÀ-ú']{2,}.*)https://regex101.com/r/YZFThW/2