Skip to content

Add support for possessive quantifiers #13

Open
@MasseGuillaume

Description

@MasseGuillaume
// zero or one, prefer more
pass("X?+", "")
pass("X?+", "X")
find(".?+X", "X", pass = false)

// zero or more, prefer more
pass("X*+", "")
pass("X*+", "XXX")
find(".?+X", "X", pass = false)

// one or more, prefer more
fail("X++", "")
pass("X++", "XXX")

// exactly n
pass("X{3}+", "XXX")
fail("^X{3}+$", "XXXX")

// n or more, prefer more
pass("^X{3,}+$", "XXXX")
fail("^X{3,}+$", "XX")

// [n, m], prefer more
fail("^X{3,5}+$", "XX")
pass("^X{3,5}+$", "XXX")
pass("^X{3,5}+$", "XXXX")
pass("^X{3,5}+$", "XXXXX")
fail("^X{3,5}+$", "XXXXXX")

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions