Я написал некоторое регулярное выражение для PHP для разбора аббревиатуры от строки.Неправильное рабочее регулярное выражение для синтаксического анализа коротких терминов
Мой код:
$re = "/(([$]?+[А-Яа-я.]+[.]){1,})/";
$str = "г. Братск, ж.р. Южный Падун, ул. Мамырская, 62А, за остановкой";
preg_match_all($re, $str, $matches);
И этот сценарий возвращения:
Array
(
[0] => Array
(
[0] => г.
[1] => ж.
[2] => л.
)
[1] => Array
(
[0] => г.
[1] => ж.
[2] => л.
)
[2] => Array
(
[0] => г.
[1] => ж.
[2] => л.
)
)
Но он будет работать так: [1]=>'ж.р.', [2]=>'ул.'
Это означает, что мое регулярное выражение разбора часть аббревиатуры, хотя мне нужно чтобы получить полную аббревиатуру.
Например на regex101.com это довольно работы: https://regex101.com/r/wQ7lR7/1
Как я могу получить полную аббревиатуру ('г.','ж.р.','ул.')
?
Если ответ ниже работает для вас, пожалуйста, не забудьте пометить его как ответ. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – chris85