Чтобы добавлять сообщения и комментарии, .

@DespicableMe:
DespicableMe

Народ!
Вот имею вновь вопрос: нужно из строки вида:
<someword><100>
Дёрнуть нечто первое меж ковычек. И оно, по идее выглядит как ^<*> или ^<\\w*>, или даже <*>, но отчего - то pattent.matcher(testWord) возвращает пустоту, вроде той, которая была бы в "", несмотря на то, что входная строка похожа на приведённую. Может отличаться только наличием пробелов, цифр, и знака минуса.
Как быть? Что нужно, чтобы строкой вида
strAT = ma.group(0);
где
Matcher ma = pattern.matcher(strA);
получить нужное?

@ugnich:
ugnich

Ликбез по регулярным выражениям: использовать (.*) — плохо. blog.mariusschulz.com

@deni:
deni

RegEx for valid international mobile phone number

^\+[1-9]{1}[0-9]{10}$
stackoverflow.com

@drshtopor:
drshtopor

Жуйк, я тут встретил регекс, который совершенно не понимаю. Как такое вообще читать? И зачем могло понадобиться использовать такую кучерявую фигню?
return str.split("(?<=\\d)/(?=\\D)|(?<=\\D)/(?=\\d)|(?<=\\d)(?=\\D)|(?<=\\D)(?=\\d)");

@qrilka:
qrilka

а нет ли какого-нибудь способа скомбинировать пачку регекспов (возможно в какое-нибудь дерево), чтоб, с одной стороны, не перебирать их по отдельности, и, с другой стороны, чтоб при матчинге получить номер сматченного регекспа?

@veet:
veet

Эпичный парсер json-а одним regex-ом
perlmonks.org
(код на перле)

@veet:
veet

Ух ты, крутая штука против нечитаемых регэкспов
github.com

@Strephil:
Strephil

$ echo 'глядите на него' | grep '\<гляд'
$ echo 'глядите на него' | sed -n '/\<гляд/p'
глядите на него
$ echo 'hello world' | grep '\<world'
hello world

@shumilov:
shumilov

gskinner.com Удобный тестер регулярок с информативными всплывающими хинтами.

@Strephil:
Strephil

Подскажите, в PHP какие-то особые регвыры?
$ cat > regex.php
<?php
$pattern = "<hello>";
$string = "<hello>, world!";
$string = preg_replace ($pattern, "", $string);
echo $string;
?>
$ php regex.php
<>, world

Почему-то угловые скобочки не удаляются, что дѣлать?

@Strephil:
Strephil

Что касается
$ expr a : 'a\( b\)*'
man 1p expr:
Alternatively, if the pattern contains at least one regular expression subexpression "[\(...\)]", the string corresponding to "\1" shall be returned.
По кодам возврата:
0 The expression evaluates to neither null nor zero.
1 The expression evaluates to null or zero.

Так что в GNU всё по POSIX, а OpenBSD — увы.

@Strephil:
Strephil

expr match '0' '[0-9]\+\( [0-9]\+\)*'

почему не матчится? почему не сделать нормальные регвыры?

@otakuSiD:
otakuSiD

refiddle.com

@vessi:
vessi

почему нельзя парсить html регэкспами? ответ по ссылке, ближе к концу коммента
stackoverflow.com

@TheKinematiX:
TheKinematiX

— У тебя есть девушка?
— Нет.
— Почему?
— /A(?=[-_a-zA-Z0-9]?[A-Z])(?=[-_a-zA-Z0-9]?[a-z])(?=[-_a-zA-Z0-9]*?[0-9])[-_a-zA-Z0-9]{6,}z/
— Понятно.

@TheKinematiX:
TheKinematiX

В каких *никсах используется разделитель пути "\"?..

@lovesan:
lovesan

типичный высер программиста на C++:


boost::regex exp("<td class=\"f\">[^>]*?>([^<]*?)<\/a>.*?\n.*?\n.*?\n.*?\n[^<]*?<a href=\"([^<]*?)\">(.*?)<\/a>.*?\n.*?\n[^<]*?<td class=\"dl\">\n.*?\n[^<]*?<b class=\"sd\">([^<]*?)<\/b>[^<]*?<b class=\"lc\">([^<]*?)<\/b>\n.*?\n.*?\n[^>]*?>([^<]*?)<\/a>");


http://www.linux.org.ru/forum/development/7605631?

@wyldrodney:
wyldrodney

Некоторые верстают не по стандартам. Пойти за пивом что-ли?

@vladimir-vg:
vladimir-vg

Может и баян, но это круто stackoverflow.com

@mdma:
mdma

Жуйковчане, а кто-нибудь пробовал утилитку txt2regex, а то вот нашел сейчас случайно в репах... И как ей вообще пользоваться?

@Yarovoy:
Yarovoy

Жуйк, подскажи хороший сайт с набором составленных регулярных выражений на все случаи жизни. В настоящий момент интересует регулярка для проверки IP-адреса версий v4 и v6 одновременно.

@chemikadze:
chemikadze

О национальных различиях: оказывается индийская пустая строка матчится любому регэкспу.

Примерно так должен был выглядеть предыдущий пост. Пора отдыхать, определенно.

@Strephil:
Strephil

Что касается grep's interpretation of range expression is now more consistent with
that of other tools в новой версии, то это относится к восьмибитным кодировкам.
Раньше dfa вызывал функцию strcoll, и происходило смешение больших и маленьких букв. Если же использование dfa было невозможным (ссылки назад в регвыре), то работало по-другому. Теперь эта путаница устранена.

@Daemon:
Daemon

Офигенно cs.helsinki.fi

@rakoth:
rakoth

Только что написал регекс, смотрю на эту мешанину символов и не понимаю как же он работает. Регексы!

@alxrt:
alxrt

Девушка просит объяснить, что такое регекспы.

@Crazy-Owl:
Crazy-Owl

Есть в жуйке товарищи, которые ответят на вопрос: как в жаборегулярках обозначаются именованные группы и есть ли они там вообще?

@Strephil:
Strephil

I love GNU!!!
# grep '[а-я]' myfile | grep -v '[0-9]' | wc -l
623
# sed '/[а-я]/!d;/[0-9]d;' | wc -l
619

@Shchvova:
Shchvova

Ололо!!! <img width="60" src="(.?)" alt=".?" class="poster-pic" /><img class="serie-mark" style="display: none;" src="/img/serie-mark.gif" border="0" /></a></nobr>\s*?</td>\s*?<td valign="top">\s*?<h3>\s*?<a href=".?">(.?)</a>\s*?<i style="padding: 0 6px;"> </i>\s*?<br/>\s*?<span class="english">(.?)</span>\s?</h3>

@Shchvova:
Shchvova

нужен хелп: есть текст в котором есть
`loadP( {нужная фигня}`
регекс `loadP\((.*?)}` выдает то что нужно но без } скобочки. А можно как-то красиво сделать что бы скобочка была?

@Strephil:
Strephil

Продолжая #962287
Back-references не поддерживаются только при работѣ съ Extended POSIX regexes, съ BASIC — все работаетъ. Маны нужно читать внимательнѣе, тамъ написано не только про ‘dreadful botch’ , но и сказано, гдѣ этотъ ‘botch’ работаетъ, а гдѣ — нѣтъ.

@Strephil:
Strephil

Въ man 7 re_format сказано, что “Back-references are a dreadful botch”, ни sed, ни egrep ихъ не умѣютъ.
Забавненько!

@Strephil:
Strephil

GNU такое GNU…
На не самомъ сложномъ регвырѣ время работы egrep съ увеличенiемъ входной строки растетъ экспоненцiально, sed же используетъ оптимизацiи.
$ echo clcclcabab====Kabcl | egrep '(.*)+.*K\1'
$ echo clcclcabab====Kabcl | sed -nr '/(.*)+.*K\1/p'
Попробуйте увеличить число символов «=» до 15 штук и почувствуйте разницу.
egrep пытается использовать этотъ свой DFA что-ли?

Мну использовал: ОС GNU, ядро Linux, sed 4.2.1, grep 2.7

@Strephil:
Strephil

$ export LANG=es_US
$ echo ll | grep '^[a-z]$'
$ echo ll | sed -n '/^[a-z]$/p'
ll

забавно, да?

@QoSyS:
QoSyS

Заметная ошибка в регулярке лучше незаметной...

@otakuSiD:
otakuSiD

Засел я тут фильтры для The Bath пописать. И все никак не могу родить регулярку что бы письма от гугловского Buzz отсортировать. Приходят они с мыла вроди такого:

buzz+тут_куча_буковок_с_цыферками@gmail.com

Набор буков и цыфр постоянно меняется, может кто писал подобное, поделитесь плз =^_^=

@Daemon:
Daemon

Народ а подскажите регексп. Мне нужно искать фрагмент либо в начале строки либо после пробела. Это в один регексп решается? А то у меня сейчас две проверки стоит.

@otakuSiD:
otakuSiD

Найти закрывающийся тег <map> в многострочном тексте

@"</?(?i:map)(.|\n)*?>([\w\s,.:'-]+)</map>"

Найти закрывающийся тег <map> в однострочном тексте

@"</?(?i:map)(.|\n)?>(\w)</map>"

Находит следующую конструкцию:

<map id="rade_img_map_Editor_0" name="rade_img_map_Editor_0">
<area shape="rect" coords="121,68,231,188" href="http:///" />
</map>


Найти однострочный <img> тег пофиг в каком тексте

@"</?(?i:img)(.|\n)*?>"

Находит значение атрибута "id" пофиг в каком тексте

"id=\"(?<id>[^\"]\\w*)\""



Пилять, вагон кирпичей высрал пока это написал %) Regexp когда ни будь взорвет мне моцк %)
@"</?(?i:img)(.|\n)*?>"

@rakoth:
rakoth

Жуйк, а ты не знаешь софтину для тестирования регексов? В бубунте использовал kiki, которой в арче нет. И сайт их найти не могу. Может, что ещё есть?

@kaberc:
kaberc

Раскурить регэкспы и смачно так затянуться.