setDuplicateNames
setDuplicateNames(enable: Boolean): JadeRegexPattern;
This fluent‑style method returns its own modified receiver, to allow call chaining. (By default, prefixes are not enabled.)
Call the setDuplicateNames method of the JadeRegexPattern class with the enable parameter set to true to specify that a pattern can have multiple named groups with the same name.
The following is an example of a setDuplicateNames operation with a customized pattern.
setDuplicateNamesExample(); constants PatternStr = "^(?'numbers'\d{4})$|^(?'numbers'\d{8})$"; Text = "12345678"; CaptureName = "numbers"; vars pattern : JadeRegexPattern; match : JadeRegexMatch; expectedCapture : JadeRegexCapture; begin create pattern; pattern.setDuplicateNames(true) .setExplicitCapture(true) .compile(PatternStr); pattern.match(Text, match); write match.at(1).hasValue(); // false write match.at(2).hasValue(); // true write match.getCaptureByName(CaptureName).value; // 12345678 epilog delete match; delete pattern; end;
The ability to have duplicate names must be set to true before you call the compile method.
2020.0.01 and higher