Ленивый, Жадный или Что? Ищете точную ссылку на Regex - PullRequest
2 голосов
/ 19 февраля 2009

Недавно, где-то в сети *, я нашел ссылку на регулярные выражения, описывающие «третий путь» жадности, отличающийся как от жадных (.*) и ленивых (.*?) совпадающих.

Я уже пытался искать SO, Googling и даже искать в истории моего браузера, но безрезультатно.

Кто-нибудь может догадаться, что я видел?


Разъяснение: это относилось к тому, что было для меня новой конструкцией (что-то вроде .*+), и я верю, что у него даже было имя для него (что-то вроде, но, вероятно, не "пассивно жадного").


* Я ценю, что «где-то в сети» примерно так же полезно, как «в Вавилонской библиотеке» или «в наборе Мандельброта», но, пожалуйста, попробуйте помочь

Ответы [ 6 ]

5 голосов
/ 19 февраля 2009

Я думаю, что вы имеете в виду "притязательное" сопоставление. Java описывает это на этой странице: http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html

Владение квантификаторами, которые жадно соответствовать столько, сколько они могут и не отойти, даже если это будет разрешить общее совпадение.

Синтаксис такой же, как вы описали (. * +).

4 голосов
/ 19 февраля 2009

Это может быть? http://www.regular -expressions.info / repeat.html

An Alternative to Laziness</p> <p>In this case, there is a better option than making the plus lazy. We can use a greedy plus and a negated character class: <[^>]+>.

2 голосов
/ 19 февраля 2009

Существуют различные пакеты регулярных выражений. PCRE (Perl-совместимые регулярные выражения) используются (более или менее) в Perl, Java, PHP и, возможно, других языках. Справочную страницу PCRE можно считать окончательной ссылкой. Он описывает квантификаторы притяжений (например, * + и ++), которые являются сокращением для атомных групп.

1 голос
/ 19 февраля 2009

Ну, не совсем ссылка, но все же хорошо. Освоение регулярных выражений

Есть также «справочная» книга от О'Рейли, но я не могу засвидетельствовать об этом. Просто увидел это в первый раз.

0 голосов
/ 19 февраля 2009

Спасибо всем. Ключ к возвращению моей памяти был «притяжательным», а не «пассивным».

Вот несколько полезных ссылок:

0 голосов
/ 19 февраля 2009

Я всегда держу копию этого шпаргалки регулярных выражений под рукой в ​​моем кубе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...