Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 10.05.2022, 14:22
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,737

(() => {
    const regExps = [
        '(?<who>.+) pierces (?<whom>.+) very hard\\.?',
        '(?<who>.+) pierces (?<whom>.+) extremely hard\\.?',
        '(?<who>.+) pierces (?<whom>.+)\\.?',
        '(?<who>.+) barely pierces (?<whom>.+)\\.?',
    ].sort((a, b) => b.length - a.length).map(e => new RegExp(e, 'iu'));

    const messages = [
        "Bobby pierces an elite guard very hard.",
        "Bobby pierces an elite guard extremely hard.",
        "Bobby pierces an elite guard.",
        "Bobby barely pierces an elite guard.",
        "An elite guard pierces Bobby very hard.",
        "An elite guard pierces Bobby extremely hard.",
        "An elite guard pierces Bobby.",
        "An elite guard barely pierces Bobby.",
        "Somebody barely pierces Topic starter."
    ];

    function getActors(message) {
        for (let i = 0; i < regExps.length; i++) {
            const matches = message.match(regExps[i]);
            if (matches === null) {
                continue;
            }
            
            return matches.groups;
        }
        
        return null;
    }

    messages.forEach(message => {
        const actors = getActors(message);
        if (actors === null) {
            alert(`«${message}»:\nunknown`);
            
            return;
        }
        
        alert(`«${message}»:\n${actors.who} -> ${actors.whom}`);
    });
})()

Последний раз редактировалось Nexus, 10.05.2022 в 14:30.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помочь: скрипт для вывода текущего года. Denis345 Серверные языки и технологии 10 07.08.2018 14:49
Помогите решить проблему! Очень прошу помочь! sizdim Элементы интерфейса 2 06.04.2015 07:59
Прошу помочь найти ошибки в функциях Georka Элементы интерфейса 1 02.10.2014 10:08
Нужно обрезать путь до файла регулярным выражением javascript_pupil Общие вопросы Javascript 3 22.11.2010 11:46
Извлечь значение параметра из location.search регулярным выражением? Бобр Общие вопросы Javascript 8 26.01.2010 01:01