1

Тема: Re2 Regex від Google

Чи здатен re2 знаходити положення знайденого слова в тексті?
Потрібно знайти на якому символі тексту слово починається і на якому закінчується,
або його початок і довжину.

2

Re: Re2 Regex від Google

Ну, за визначенням cre2_string_t схоже, воно містить посилання на оригінальну стрічку. А покажчикову арифметику ніби ніхто ще не забороняв.

3

Re: Re2 Regex від Google

Cre2 це ж обгортка для С?

4

Re: Re2 Regex від Google

Vitaliy_Danmer написав:

Cre2 це ж обгортка для С?

А ви яку використовуєте?

5

Re: Re2 Regex від Google

koala написав:
Vitaliy_Danmer написав:

Cre2 це ж обгортка для С?

А ви яку використовуєте?

Оригінальну версію для С++.

6

Re: Re2 Regex від Google

Ну, спробуйте йому string_view передати.

7 Востаннє редагувалося Droid 77 (23.10.2023 21:20:32)

Re: Re2 Regex від Google

Що це за ліба re2, є якась лінка на описання?

P. S.
Вже знайшов:
https://github.com/google/re2

8 Востаннє редагувалося Teg Miles (23.10.2023 21:43:41)

Re: Re2 Regex від Google

koala написав:

Ну, спробуйте йому 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_

9

Re: Re2 Regex від Google

Vitaliy_Danmer написав:

Там є власний тип даних StringPiece схожий на string_view.
Теж вказівник на масив із лічильником, наскільки я розумію.

Так, тільки string_view - це просто вказівник + розмір, немає ніякого лічильника.

10

Re: Re2 Regex від Google

У будь-якому разі зі string_view (чи StringPiece) можна витягнути адресу першого байта і відняти адресу початку.