Regex извлекает строку перед целым числом - PullRequest
1 голос
/ 11 апреля 2019

У меня есть пачка номера, скажем:

  • d123sd
  • ддс123
  • 123сс
  • dd542334ssdf
  • fsd54345ff

полные данные всегда строка int строка, я использую это для разделения каждой группы

string1 = ^(.*?)\D+
int2 = (\d+)
string3 = ([a - zA - Z] *$)

но я всегда получаю ошибку, если data только int строка (пример 123ss), поскольку ее переменная string1 читает первую цифру, кто-нибудь может сказать мне, где я ошибся?

1 Ответ

2 голосов
/ 11 апреля 2019

Чтобы соответствовать 0 или более нецифровых символов в начале строки, вам необходимо определить string1 как

string1 = ^(\D*)

. Он будет захватывать 0 или более нецифровых символов (\D)символы в начале строки (^).

Весь шаблон строки может выглядеть следующим образом:

^(\D*)(\d+)(\D*)$

См. график Regulex :

enter image description here

См. Также regex demo .

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