GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - orefkov/simrex: Regexp wrapper for Oniguruma with Simstr strings

BranchesTags
Open more actions menu

Latest commit

 

History

7 Commits
7 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
cmake
cmake
 
 
docs
docs
 
 
include/simrex
include/simrex
 
 
src
src
 
 
tests
tests
 
 
.clang-format
.clang-format
 
 
.clang-tidy
.clang-tidy
 
 
.clangd
.clangd
 
 
.editorconfig
.editorconfig
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CMakePresets.json
CMakePresets.json
 
 
LICENSE
LICENSE
 
 
readme.md
readme.md
 
 
readme_en.md
readme_en.md
 
 

Repository files navigation

simrex - регулярные выражения для строк Simstr на базе Oniguruma

CMake on multiple platforms

Предназначена для работы с регулярными выражениями при использовании библиотеки simstr. В качестве движка регулярных выражений используется Oniguruma.

Версия 1.0.0

В этой библиотеке содержится простая реализация простого объекта OnigRegexp для работы с регулярными выражениями посредством движка Oniguruma с использование строковых объектов библиотеки simstr.

Основные возможности библиотеки

  • Работает со всеми строками simstr.
  • Поддерживает работу со строками char, char16_t, char32_t, wchar_t.
  • Различные виды поиска и замены.

Основные объекты библиотеки

  • OnigRegexp - регулярное выражение, параметр К задаёт тип используемых символов в строке. Алиасы:
    • OnigRex - для строк char
    • OnigRexU - для строк char16_t
    • OnigRexUU - для строк char32_t
    • OnigRexW - для строк wchar_t

Использование

simrex состоит из заголовочного файла и одного исходника. Можно подключать как CMake проект через add_subdirectory (библиотека simrex), можно просто включить файлы в свой проект. Для сборки также требуется simstr (при использовании CMake скачивается автоматически).

Для работы simrex требуется компилятор с поддержкой стандарта не ниже С++20 (используются концепты).

Описание возможностей Oniguruma

Синтаксис выражений

Примеры использования

OnigRex rex{"b(a+)"};
auto matches = rex.all_matches("bbbaabbbabbaaa");
for (const auto& match: matches) {
    std::cout << "Found: ";
    unsigned group = 0;
    for (const auto [pos, text]: match) {
        if (group == 0) {
            std::cout << "at pos " << pos << ", text: " << text << std::endl;
        } else {
            std::cout << "  subgroup " << group  << ", pos " << pos
                << ", text: " << text << std::endl;
        }
        group++;
    }
}

Результат:

Found: at pos 2, text: baa
  subgroup 1, pos 3, text: aa
Found: at pos 7, text: ba
  subgroup 1, pos 8, text: a
Found: at pos 10, text: baaa
  subgroup 1, pos 11, text: aaa

Сгенерированная документация

Находится здесь

About

Regexp wrapper for Oniguruma with Simstr strings

Topics

onigurumaregexpsimstrstring-manipulationstring-matchingstring-methodstrings

Resources

Readme
MIT license
Activity

Stars

1 star

Watchers

0 watching

Forks

0 forks
Report repository

Releases

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.