Метасимвол * в BRE1, ERE1 и PCRE1 соответствует 0 или более вхождениям ранее сгруппированного шаблона (если сгруппированный шаблон предшествует метасимволу *), 0 или более случаев предыдущего символьного класса (если a символьный класс предшествует метасимволу *) или 0 или более случаев предыдущего символа (если ни один групповой шаблон или класс символов не предшествует метасимволу *);
Это означает, что в This*String, являясь метасимволом *, не предшествующим сгруппированным шаблоном или классом символов, метасимвол * соответствует 0 или более вхождениям предыдущего символа (в этом случае символ s):
% cat infile
ThisExampleString
ThisString
ThissString
% grep 'This*String' infile
ThisString
ThissString
Чтобы соответствовать 0 или более вхождениям любого символа, вы хотите совместить 0 или более случаев метасимвола ., который соответствует любому символу:
% cat infile
ThisExampleString
% grep 'This.*String' infile
ThisExampleString
[ f14] метасимвол в BRE и ERE всегда «жадный», то есть он будет соответствовать самому длинному совпадению:
% cat infile
ThisExampleStringIsAString
% grep -o 'This.*String' infile
ThisExampleStringIsAString
Это может быть не желаемое поведение ВИОР; в противном случае вы можете включить механизм PCRE grep (с использованием опции -P) и добавить метасимвол ?, который после ввода после * и + метасимволов влияет на изменение их жадность:
% cat infile
ThisExampleStringIsAString
% grep -Po 'This.*?String' infile
ThisExampleString
1: Основные регулярные выражения, расширенные регулярные выражения и совместимые регулярные выражения Perl
Я использую PeaceKeeper для этого: http://clients.futuremark.com/peacekeeper/index.action
Я использую PeaceKeeper для этого: http://clients.futuremark.com/peacekeeper/index.action
Я использую PeaceKeeper для этого: http://clients.futuremark.com/peacekeeper/index.action
Я использую PeaceKeeper для этого: http://clients.futuremark.com/peacekeeper/index.action
Я использую PeaceKeeper для этого: http://clients.futuremark.com/peacekeeper/index.action
Я использую PeaceKeeper для этого: http://clients.futuremark.com/peacekeeper/index.action
Я использую PeaceKeeper для этого: http://clients.futuremark.com/peacekeeper/index.action
Я использую PeaceKeeper для этого: http://clients.futuremark.com/peacekeeper/index.action
Время запуска можно измерить секундомером и быстрой рукой. Остальные этапы, как правило, связаны с работой JavaScript. Естественно, компания захочет показать, что их продукт является лучшим, поэтому вам нужно внимательно посмотреть на результаты.
SunSpider - это тип теста, который вы можете запустить. Есть и другие. Я не знаю, есть ли SunSpider в моде или что самое последнее и самое лучшее, но это даст вам некоторые указания.
Время запуска можно измерить секундомером и быстрой рукой. Остальные этапы, как правило, связаны с работой JavaScript. Естественно, компания захочет показать, что их продукт является лучшим, поэтому вам нужно внимательно посмотреть на результаты.
SunSpider - это тип теста, который вы можете запустить. Есть и другие. Я не знаю, есть ли SunSpider в моде или что самое последнее и самое лучшее, но это даст вам некоторые указания.
Время запуска можно измерить секундомером и быстрой рукой. Остальные этапы, как правило, связаны с работой JavaScript. Естественно, компания захочет показать, что их продукт является лучшим, поэтому вам нужно внимательно посмотреть на результаты.
SunSpider - это тип теста, который вы можете запустить. Есть и другие. Я не знаю, есть ли SunSpider в моде или что самое последнее и самое лучшее, но это даст вам некоторые указания.
Время запуска можно измерить секундомером и быстрой рукой. Остальные этапы, как правило, связаны с работой JavaScript. Естественно, компания захочет показать, что их продукт является лучшим, поэтому вам нужно внимательно посмотреть на результаты.
SunSpider - это тип теста, который вы можете запустить. Есть и другие. Я не знаю, есть ли SunSpider в моде или что самое последнее и самое лучшее, но это даст вам некоторые указания.
Время запуска можно измерить секундомером и быстрой рукой. Остальные этапы, как правило, связаны с работой JavaScript. Естественно, компания захочет показать, что их продукт является лучшим, поэтому вам нужно внимательно посмотреть на результаты.
SunSpider - это тип теста, который вы можете запустить. Есть и другие. Я не знаю, есть ли SunSpider в моде или что самое последнее и самое лучшее, но это даст вам некоторые указания.
Время запуска можно измерить секундомером и быстрой рукой. Остальные этапы, как правило, связаны с работой JavaScript. Естественно, компания хочет показать, что их продукт является лучшим, поэтому вам нужно внимательно посмотреть на результаты.
SunSpider - это тип теста, который вы можете запустить. Есть и другие. Я не знаю, есть ли SunSpider в моде или что самое последнее и самое лучшее, но это даст вам некоторые указания.
Время запуска можно измерить секундомером и быстрой рукой. Остальные этапы, как правило, связаны с работой JavaScript. Естественно, компания хочет показать, что их продукт является лучшим, поэтому вам нужно внимательно посмотреть на результаты.
SunSpider - это тип теста, который вы можете запустить. Есть и другие. Я не знаю, есть ли SunSpider в моде или что самое последнее и самое лучшее, но это даст вам некоторые указания.
Время запуска можно измерить секундомером и быстрой рукой. Остальные этапы, как правило, связаны с работой JavaScript. Естественно, компания хочет показать, что их продукт является лучшим, поэтому вам нужно внимательно посмотреть на результаты.
SunSpider - это тип теста, который вы можете запустить. Есть и другие. Я не знаю, есть ли SunSpider в моде или что самое последнее и самое лучшее, но это даст вам некоторые указания.