RegEx для извлечения последней комбинации чисел из абзаца - PullRequest
1 голос
/ 15 мая 2019

RegEx для извлечения последней комбинации чисел из абзаца

Например :

«Мой идентификатор 112243 и мой номер телефона 0987654321. СпасибоВы. ”

Поэтому я хочу извлечь номер телефона, который является последней комбинацией цифр.

Ответы [ 3 ]

3 голосов
/ 15 мая 2019

Вы можете использовать это регулярное выражение,

\d+(?=\D*$)

Здесь \d+ выбирает одно или несколько чисел, и этот положительный прогноз (?=\D*$) гарантирует, что если вообще что-либо присутствует впереди до конца строки, тоэто не цифра (с помощью \D* до $).

Regex Demo

JS Code demo,

const s = 'My ID is 112243 and my phone number is 0987654321. Thanks you.'

console.log(s.match(/\d+(?=\D*$)/))
0 голосов
/ 15 мая 2019

Вы также можете использовать простое регулярное выражение, например ^.*\b(\d+)

var str = 'My ID is 112243 and my phone number is 0987654321. Thanks you';
var num = str.match(/^.*\b(\d+)/)[1];
console.log(num);
  • Жадный .* будет потреблять что-либо до последней \b границы слова , за которой следуют \d+ цифры.
  • Скобка вокруг \d+ будет захватывать вещи внутри [1]
  • Если ввод представляет собой многострочную строку, используйте такие как [\s\S]* вместо .*, чтобы пропустить переводы строки.
0 голосов
/ 15 мая 2019

var string = "My ID is 112243 and my phone number is 0987654321. Thanks you";
var numbers = string.match(/\d+/g).map(Number);
console.log(numbers);

Это даст вам всю комбинацию чисел в массиве.Вы можете выбрать тот, который вы хотите.

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