После некоторых исследований и уроков по регулярным выражениям я понял, как работает этот API.
«Подвыражения в скобках» относятся к группам захвата, о которых я даже не подозревал, когда задавал этот вопрос. Таким образом, он не имеет ничего общего с результатами, за исключением того, что первая группа захвата всегда соответствует полному совпадению.
Похоже, что RE API не может захватывать несколько совпадений, кажется, что то, что я считаю обходным решением, на самом деле является правильным способом получить все совпадения из строки, за исключением того, что если нам нужны только совпадения, нам нужно вызвать getParen()
с индексом 0.
Если я использую регулярное выражение (\w+ (\d+))
для значений:
Jan 1987
May 1969
Aug 2011
Это будет результат:
Итак, API полностью работает, мне просто нужно добавить несколько вспомогательных методов во внутреннюю библиотеку, чтобы упростить его использование. Может быть, я постараюсь написать лучшую документацию для RE
, если у меня будет время. Как сейчас, это едва ли понятно для разработчика, который не очень хорошо разбирается в regex IMHO.
Спасибо, Шай, за то, что указал мне правильное направление!