to post messages and comments.

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

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

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

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

Что касается
$ 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 — увы.

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

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

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

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

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

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

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

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

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

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