ripgrep не поддерживает границы слов \<
и \>
, которые конкретно соответствуют только началу и концу слова соответственно. Тем не менее, ripgrep поддерживает \b
, что соответствует границе слова в любом месте. В этом случае этого достаточно для вашего конкретного примера:
$ echo 'play allegro here' | rg '\bleg\b'
$ echo 'I have a leg.' | rg '\bleg\b'
I have a leg.
ripgrep также поддерживает флаг grep -w
, который в этом случае делает то же самое:
$ echo 'play allegro here' | rg -w leg
$ echo 'I have a leg.' | rg -w leg
I have a leg.
Чтобы подробно остановиться на том, что сказал Ben: CFLite (межплатформенное подмножество с открытым исходным кодом Базовой Основы) поставлется с plist синтаксическим анализатором. Если можно связаться, против которого, должно быть довольно просто работать с .webarchive
файлы, которые являются просто списками свойств, которые связывают все файлы (HTML, CSS, и т.д.) в один.
Существуют другие библиотеки также, такой как Mac-PropertyList
на CPAN для Perl.
Я полагаю, что формат для .webarchives официально не документирован, но это - просто plist. Можно открыть его в Редакторе Списка свойств и исследовать его содержание. Не должен быть к трудно для тиражирования больше всего, если не все, того, что там.
Создание Webarchive является частью WebKit к счастью, как таковой, можно использовать следующее для работы с ними на Mac:
Или, используйте этот исходный код для понимания формата в использовании:
http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebArchive.mm
Это не кросс-платформенная форма, но на Mac
textutil -convert webarchive whatever.html
выполняет свою работу. Не уверен, можно ли легко включать изображения и т. Д.