Skip to content

Implementation of Unicode Case-Insensitive Matching

Alec Landow requested to merge regexBender/rosie:alec-case-v3 into dev

I added three macros:

  • ci Basic case-insensitive matching based on case mappings in src/unicode/UCD-10.0.0/UnicodeData.txt
  • cfs Simple case folding based on the rules and mappings in src/unicode/UCD-10.0.0/CaseFolding.txt
  • cff Full case folding based on the rules and mappings in src/unicode/UCD-10.0.0/CaseFolding.txt

I added tests for cfs and cff in test/rpl-appl-test.lua

Future Work

The mapping tables in src/lua are not auto-generated at build time. The code I wrote to generate them is in src/unicode/case-folding.lua

For more detailed information, see src/unicode/case-insensitive-matching.md

Edited by Alec Landow

Merge request reports