Извлечение числа и текста из строки с помощью RegExp exe c Javascript - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь извлечь число и текст из таких строк: 171Тоберин, [171] Тоберин или [171] Тоберин.

У меня есть этот RegExp /(?<code>\d+)(?<name>\w+)/u, и этот RegExp работает только с 171Toberin.

Ответы [ 2 ]

0 голосов
/ 24 января 2020

Пожалуйста, попробуйте следующее: (?<code>\d+)[^\d\w]*(?<name>\w+)/ug

Работает со всем предложением: 171Тоберин, [171] Тоберин или [171] Тоберин.

Возвращение 3 Матчи. Вы можете попробовать это в https://regex101.com/

С [^\d\w]* вы пропускаете возможные числа и слова между ними. С флагом g вы возвращаете все совпадения.

0 голосов
/ 24 января 2020

Вы можете использовать приведенное ниже регулярное выражение для удаления всех не алфавитных символов c.

let string = '171Toberin, [171]Toberin or [171]';
console.log(string.replace(/[^a-zA-Z0-9]/g, ''));

Или используйте приведенное ниже для извлечения буквенных символов c из строки.

let string = '171Toberin, [171]Toberin or [171]';
console.log(string.match(/[a-zA-Z0-9]+/g));

Или, если вы хотите извлечь числа и строки в отдельный массив, используйте приведенный ниже.

let string = '171Toberin, [171]Toberin or [171]';
console.log(string.match(/[0-9]+/g));
console.log(string.match(/[a-zA-Z]+/g));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...