[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсинг текста
Kusss
есть вот такая строка. И она может быть на любом языке (всего 54)
"26 лет и 66 дней, следующий день рождения: 24.02.2020" русский
"26 años y 66 días, próximo cumpleaños: 24.02.2020" испанский
"26 Jahre und 66 Tage, nächster Geburtstag: 24.02.2020" Немецкий
"26 років та 66 днів, наступний день народження: 24.02.2020" Украинский
"26 vuotta ja 66 päivää, seuraava syntymäpäivä: 24.02.2020" Финский

нужно вычленить возраст - ["26 лет", "66 дней"] или ["26 vuotta", "66 päivää"]
использую
$playerData.find('.nowrap').eq(1).text().match(/\d{1,3}\s[а-яa-z]+/ig)

но это как оказалось хорошо для латиницы и кирилицы.
Есть универсальное решение ?

comolov
var str = '"26 лет и 66 дней, следующий день рождения: 24.02.2020" русский\
"26 aсos y 66 dнas, prуximo cumpleaсos: 24.02.2020" испанский\
"26 Jahre und 66 Tage, nдchster Geburtstag: 24.02.2020" Немецкий\
"26 років та 66 днів, наступний день народження: 24.02.2020" Украинский\
"26 vuotta ja 66 pдivдд, seuraava syntymдpдivд: 24.02.2020" Финский';

console.log(str.match(/\d{1,3}\s[^\s]+/ig));
Может по пробелу смотреть?

["26 лет", "66 дней,", "26 aсos", "66 dнas,", "26 Jahre", "66 Tage,", "26 років", "66 днів,", "26 vuotta", "66 pдivдд,"]
Kusss
comolov
Хорошее решение - спасибо. Чутка изменил , чтобы запятая не попадала.
str.match(/\d{1,3}\s[^\s|^\,]+/ig)
comolov
Kusss, незачто ).

В квадратных скобках еще лишние слэш, крышка и верт. черта. Они распознаются как исключающие символы.

var str = '"26 лет и 66 дней, следующий день рождения: 24.02.2020" русский\
"26 aсos y 66 dнas, prуximo cumpleaсos: 24.02.2020" испанский\
"26 Jahre und 66 Tag|e, nдchster Geburtstag: 24.02.2020" Немецкий\
"26 років та 66 дні^в, наступний день народження: 24.02.2020" Украинский\
"26 vuotta ja 66 pд\ivдд, seuraava syntymдpдivд: 24.02.2020" Финский';

console.log(str.match(/\d{1,3}\s[^\s|^\,]+/ig));
console.log(str.match(/\d{1,3}\s[^\s,]+/ig));
...
[
"26 лет", "66 дней", "26 aсos", "66 dнas", "26 Jahre", "66 Tag", "26 років", "66 дні", "26 vuotta", "66 pдivдд"]
[
"26 лет", "66 дней", "26 aсos", "66 dнas", "26 Jahre", "66 Tag|e", "26 років", "66 дні^в", "26 vuotta", "66 pдivдд"]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.