Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: помогите составить регулярку на js с поиском строковых значений [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
nerv
Отправлено: 28 Августа, 2015 - 16:55:50
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)




IllusionMH пишет:
Пару минут потратил чтобы понять как оно работаете в случае true, и еще 5 тупил почему оно корректно выдает false.

лучше es6 магия:

CODE (javascript):
скопировать код в буфер обмена
  1. let test = (str, arr) => {
  2.   return arr.every(part => str.indexOf(part) !== -1);
  3. };
  4.  
  5.  
  6. // not recommended
  7. let test = (str, arr) => arr.every(part => str.indexOf(part) !== -1);
  8.  
  9.  
  10. // one more
  11. arr.every(part => str.indexOf(part) !== -1);


Улыбка


-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
IllusionMH
Отправлено: 28 Августа, 2015 - 17:17:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




nerv, ну arrow functions просто кардинально изменили принцип работы, по сравнению с моим ES5 кодом Радость А про главный недостаток регулярки я писал

Не пишу примеры в таком стиле т.к. это напоминает посты ориентированные на широкую аудиторию, но все примеры автор пишет в CoffeScript (как бы намекая что ему пох на читателей) и не все используют babel(или аналоги), т.к. все равно на поддержку браузеров нельзя положиться.

P.S. можно еще и const для функций-утилит юзать, чтобы наверняка Улыбка

(Отредактировано автором: 28 Августа, 2015 - 17:17:55)

 
 Top
nerv
Отправлено: 28 Августа, 2015 - 22:25:36
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)




IllusionMH пишет:
ну arrow functions просто кардинально изменили принцип работы, по сравнению с моим ES5 кодом

только читаемость лучше, если рассматривать мой пример // one more

IllusionMH пишет:
А про главный недостаток регулярки я писал

главный недостаток в том, что они не работают, если их не экранировать
CODE (javascript):
скопировать код в буфер обмена
  1. new RegExp('a+b').test('a+b'); // false
  2. new RegExp('Федя (Ежиков)').test('Федя (Ежиков)'); //false

в связи с чем я подобные примеры всерьез не воспринимаю

а что касается моих, то они в рамках действующего стандарта Улыбка


-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
MAXUS
Отправлено: 29 Августа, 2015 - 09:17:57
Post Id


Посетитель


Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011  


Помог: 7 раз(а)




SAD пишет:
Общими усилиями пришли к решению

CODE (javascript):
скопировать код в буфер обмена
  1. str.match(new RegExp('(' + arr_data.join('|') + ')(?!.*\\1)', 'g')).length === arr_data.length


Плюсуюсь. Красиво! Еще модификатор i целесообразно добавить.
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB