The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Тематический каталог: Регулярные выражения в JavaScript (jav..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Тематический каталог: Регулярные выражения в JavaScript (jav..."  +1 +/
Сообщение от auto_topic (?), 25-Дек-10, 10:34 
Обсуждение статьи тематического каталога: Регулярные выражения в JavaScript (javascript regexp)

Ссылка на текст статьи: https://www.opennet.ru/base/dev/js_regexp.txt.html

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Регулярные выражения в JavaScript (javascript regexp)"  +/
Сообщение от drbattyemail (?), 25-Дек-10, 10:34 
>Это найдет слова "matting" и "mattres", но не "matrix"

найдёт оно matrix, вот /matt+/ не найдёт. дальше потом почитаю, интересно...

Ответить | Правка | Наверх | Cообщить модератору

2. "Регулярные выражения в JavaScript (javascript regexp)"  +/
Сообщение от кевин (?), 27-Мрт-12, 13:47 
       /eg*/


   может найти "easy", "egocentric" и "egg", в то время, как

           /Wil?/


   может найти "Winne", "Wimpy", "Wilson" и "William", но не
   "Wendy" или "Wolf".

по данным примерам разница шаблонов неочевидна
будет достаточно
will* найдёт will и williams
а will? найдёт williams но не will

Ответить | Правка | Наверх | Cообщить модератору

3. "А можете помочь в составлении REGRXP?"  +/
Сообщение от Dmitriyemail (??), 09-Май-22, 08:22 
Суть вопроса:
я давно подсел на один MUD. И захотел максимально его автоматизировать , используя js.
Однако столкнулся с ситуацией, когда просто не смог создать одно (ну два) регулярное выражение, которое бы матчило определенные места строк типа:
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.

Из этих строк надо выбрать «Bobby» и «An elite guard». Причем в «An elite guard» могут быть символы «’» «,» «-» (например «En’gla, master of maces») и состоять оно может как из нескольких слов, так и из одного.

Сам я смог родить только подобное:
/^(\w+)\s(cleav|crush|slash|bludgeon|claw|drain|hit |pierc|shoot|sting|whip|bit|smit|stab)(e|es|s)\s([\w\s\'\-\,]+)(?:.|very|extrem)/
/^([\w\s\'\-\,]+)\s(?:barely)\s?(cleav|crush|slash|bludgeon|claw| drain|hit|pierc|shoot|sting|whip|bit|smit|stab)(e| es|s)\s(\w+)(?: very| extrem)/
но оно не работает корректно (сутками сидел, пытаясь переделывать так или иначе).
Может быть вы сможете мне помочь в написании регэкспа для моей задачи? Буду вам очень благодарен.

Ответить | Правка | Наверх | Cообщить модератору

4. "А можете помочь в составлении REGRXP?"  +/
Сообщение от Dmitriyemail (??), 09-Май-22, 13:24 
Вот такой монстр почти корректно работает:
/^(\w[\w\s\'\-\,]+)\s(?:barely cleav|barely crush|barely slash|barely bludgeon|barely claw|barely drain|barely hit|barely pierc|barely shoot|barely sting|barely whip|barely bit|barely smit|barely stab|cleav|crush|slash|bludgeon|claw|drain|hit|pie rc|shoot|sting|whip|bit|smit|stab)(?:e|es|s)\s(\w[\w\s\'\-\,]+)./

Но матчит "barely", "very hard", "extremely hard", "hard" и эти слова кидает в переменную. Никак это победить не могу

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру