Regex помогите! Нужно обрезать строку только для цифр - PullRequest
0 голосов
/ 08 января 2019

Допустим, у меня есть строка "> = 3.0.0". Регулярное выражение: [^\D](\S+\d+) помогает сократить его до 3.0.0 (https://regex101.com/r/XUxyEM/1). Но когда у меня есть строка "> = 6", регулярное выражение [^\D](\S+\d+) вернет пустой результат (https://regex101.com/r/XUxyEM/2), в то время как В качестве результата я хочу получить 6. Как изменить свое регулярное выражение, чтобы оно работало в обоих случаях. Извините, я вроде как регулярное выражение-новичок.

1 Ответ

0 голосов
/ 08 января 2019

Если вы хотите захватить цифру с последующим количеством цифр и точек после любого количества не цифр, используйте

\D*(\d[\d.]*)

См. Демоверсию regex

следующее регулярное выражение

\d[\d.]*$

будет соответствовать цифре, за которой следуют 0+ цифр и / или точек в конце строки. Смотрите еще одно демо .

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