@answer18 предположим, что есть возможность указывать группу символов как один, тогда (исключительно глупый код в теории — это не рабочий вариант) /<(\w+)[^>]*>(!<\1[^>]*>)*123.*?<\/\1>/
Но такой вариант на практике невозможен — во-первых, вот это какой-то абсурд (!<\1>)
А, во-вторых, я намеренно предполагаю, что могут быть атрибуты и прочие дела. К тому же, могут быть вложения типа
То есть в данном случае удачно совпали потолок моих знаний и возможность постановки нерешаемой задачи. Удачно — это потому, что я с лёгким сердцем и умным видом (насколько это возможно) говорю — ах, оставьте, сударь...
@mamishev да, конечно, речь о принципе шла. Обновил пример — сделал более грамотным объект соответствия. Коды в нём оставил только для пущей красоты — они больше не нужны.
@bootd в вашем примере псевдообласть :after от первого же блока .clearfix учла левый плавающий блок, это же понятно:)
Хотите с псевдообластями работать? Не вопрос, но требуется создать область, учитывающую размеры плавающих потомков (overflow, float) jsfiddle.net/petroveg/wt25n3om/1
@MikeSilence я вообще отказываюсь понимать, что вы делаете
1. Метод a.c нигде не вызывается, значит никуда и ничего из него не передаётся в принципе
2. alert (a.b()); — что вы вообще хотите увидеть?
3. Если в методе b всегда переписывается значение аргумента x, то зачем эта переменная вообще нужна в аргументах?
4. Вообще непонятно, что делает ваш объект.
Нужно ориентироваться на то, что вам интересно, потому что круто, это когда ты получаешь деньги за любимую работу.
И да — английский нужен. Очень.