Синтаксис регулярных выражений MATLAB - PullRequest
0 голосов
/ 19 сентября 2018
input1 = ' 8 BKN 15 BKN '  
input2 = ' 2 X 3SM ' 

regexp(input1, '\s{1}\d(1|2)\s{1}c{3}\s{1}')
regexp(input2, ''\s{1}\d(1|2)\c{1}\s{1}c{1}\s{1}' )

Не можете заставить регулярное выражение работать.Я совсем не большой отладчик.

Код должен идентифицировать (один пробел (одна цифра или две цифры), один пробел, три символа [A-Z] и один пробел)

Код нуждается (один пробел, одинцифра или две цифры, один пробел, X буква, одна цифра и два символа и один пробел)

1 Ответ

0 голосов
/ 19 сентября 2018

Я думаю, вы ищете что-то вроде двух настроек ниже (у меня нет MatLab, но ваш вопрос действительно о регулярных выражениях):

Условие 1 (попробуйте здесь: https://regex101.com/r/Bvp3ct/2):

^[ ]\d{1,2}[ ][A-Z]{3}[ ]

Условие 2: (попробуйте здесь: https://regex101.com/r/Bvp3ct/4):

[ ]\d{1,2}[ ][X][ ]\d{1}[A-Z]{2}[ ]

Неясно, должна ли строка начинаться в начале строки (добавьте или удалите ^ вначало по мере необходимости. Сохраните его, если оно должно начинаться с начала строки.

В правом нижнем углу сайта, на который я ссылался, есть легенда для примеров, которая также разбивает нотацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...