Тема: Re2 Regex від Google
Чи здатен re2 знаходити положення знайденого слова в тексті?
Потрібно знайти на якому символі тексту слово починається і на якому закінчується,
або його початок і довжину.
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Re2 Regex від Google
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Чи здатен re2 знаходити положення знайденого слова в тексті?
Потрібно знайти на якому символі тексту слово починається і на якому закінчується,
або його початок і довжину.
Ну, за визначенням cre2_string_t схоже, воно містить посилання на оригінальну стрічку. А покажчикову арифметику ніби ніхто ще не забороняв.
Cre2 це ж обгортка для С?
А ви яку використовуєте?
Vitaliy_Danmer написав:Cre2 це ж обгортка для С?
А ви яку використовуєте?
Оригінальну версію для С++.
Що це за ліба re2, є якась лінка на описання?
P. S.
Вже знайшов:
https://github.com/google/re2
Ну, спробуйте йому string_view передати.
Там є власний тип даних StringPiece схожий на string_view.
Теж вказівник на масив із лічильником, наскільки я розумію.
Вирішив зупинитися на Oniguruma, бо там схожий підхід (char масиви),
але вже є вбудовані функції для визначення початку й кінця слова в тексті.
І по швидкості вони приблизно однакові.
P.S. щодо StringPiece
// Copyright 2022 The RE2 Authors. All Rights Reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
#ifndef RE2_STRINGPIECE_H_
#define RE2_STRINGPIECE_H_
#include "absl/strings/string_view.h"
namespace re2 {
// Until RE2 requires C++17 and uses std::string_view, allow users to
// continue to #include "re2/stringpiece.h" and use re2::StringPiece.
using StringPiece = absl::string_view;
} // namespace re2
#endif // RE2_STRINGPIECE_H_
Там є власний тип даних StringPiece схожий на string_view.
Теж вказівник на масив із лічильником, наскільки я розумію.
Так, тільки string_view - це просто вказівник + розмір, немає ніякого лічильника.
У будь-якому разі зі string_view (чи StringPiece) можна витягнути адресу першого байта і відняти адресу початку.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися