Postgres Regex соответствует первым 11 символам, если нет пробела или тире - PullRequest
0 голосов
/ 25 апреля 2019
12345678-1
12345678 1356456456456
221345243545634563546

используя приведенные выше строки, я пытаюсь сопоставить первые 11 символов, если только вы не тире или пробел, а затем захватите все (только первые 8) до пробела / тире ...

я пробовал \^(.*?)-\, который захватывает только первые 8 из первой строки (как и ожидалось. Или \^(.*?) \, который по праву захватывает первые 8 из второй строки. Но \^(.*?)(-| )\ не работает. И не работает `([0-9] {8,11}), поскольку это просто пропускает пробел и включает дополнительные биты ...

Как я могу вытянуть только первые 11 цифр, если нет тире или пробела, тогдапотянуть все до черты / пробела (фиксированные 8 символов)?

1 Ответ

1 голос
/ 25 апреля 2019

Добавить якорь для начала:

^[0-9]{8,11}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...