Я пытаюсь сделать регулярное выражение для проверки общих имен Сингапура на Android.Regex validation for Singapore names
Мой текущий регулярное выражение ^[A-Za-z\s]{1,}[\.]{0,1}[A-Za-z\s]{0,}$
Он может принимать любое значение, которое имеет пробелы между ними, но принимать слишком много других значений, которые делают его непригодным.
Регулярное выражение должно принять:
Benedict Tan
James Watson
Richard Lim Jun Qi
Tan Ho Wen
Eng Pin Wee
Регулярное выражение должно отклонить:
Ngee Ann Polytechnic
Institute of Singapore
Singapore University of Technology and Design
ST Electronics
Green View Secondary School
Anderson Primary School
NUS
Ministry of Education
Singapore Press Holdings Pte Ltd
Это сложный один, и я не могу понять, как отличить их.
---------------------------------------------- ---------РЕДАКТИРОВАТЬ---------------------------------------- -
Одно из предложений состоит в том, чтобы составить список имен, отличных от имени, таких как «Институт, Школа, Университет, Технология, Дизайн, Компания» и отвергнуть их.
Как можно создать регулярное выражение на основе этого? В настоящее время я тестирую его на регулярном выражении и все еще работаю над ним.
Не удалось создать словарь запрещенных слов. Решение этой проблемы не существует. Даже с таким словарем, вероятно, будут случаи, которые нельзя обрабатывать автоматически, и вы будете часто обновлять словарь. –
@ Jim GarrisonЭто то, что я думал .. Угадайте, что нет решения. –
@JimGarrison Предположим, я хочу сделать это более точным, как насчет принятия имен, которые имеют от 2 до 4 слов. И отклонять имена, которые имеют только 1 слово или более 4 слов? Я знаю, что он все равно примет «Ngee Ann Polytechnic и т. Д.» –