Skip to content

different (incorrect) result of regex matcher #91

@sergeevik

Description

@sergeevik

On try.jsonata https://try.jsonata.org/4YRflSFg9

Image

in jsonata-java:

org.opentest4j.AssertionFailedError: 
Expected :{match=domain1., groups=[domain1.], end=8, start=0}
Actual   :domain1.test.data

test:


    @Test
    public void testEvalRegex() {

        Object data = Map.of(
                "domain1.test.data", Map.of(),
                "domain2.test.data", Map.of()
        );
        var expression = Jsonata.jsonata(
                "(\n" +
                        "    $matcher := $eval('/^(domain1)\\\\./i');\n" +
                        "    ('domain1.test.data' ~> $matcher)" +
                        ")"
        );
        Object evaluate = expression.evaluate(data);
        Object expected = Map.of(
                "match", "domain1.",
                "start", 0,
                "end", 7,
                "groups", List.of("domain1.")
        );
        Assertions.assertEquals(expected, ((List) evaluate).get(0));
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions