Open6

正規表現のキャプチャグループについても index が取得したい

Ryusuke NaritaRyusuke Narita

tsconfig.json

{
  "baseUrl": "./",
  "paths": {
    "multi-regexp2": [
      "src/types/multi-regexp2.d.ts"
    ],
  },
  ...
}
Ryusuke NaritaRyusuke Narita

src/types/multi-regexp2.d.ts

export default class MultiRegExp2 {
  constructor(baseRegExp: RegExp);

  execForAllGroups(str: string, includeFullMatch: boolean): {match: string, start: number, end: number}[]

  execForGroup(str: string, group: number): {match: string, start: number, end: number}
}
Ryusuke NaritaRyusuke Narita

mycode.ts

import MultiRegExp2 from 'multi-regexp2'

const regex = /a(?: )bc(def(ghi)xyz)/g;
const regex2 = new MultiRegExp2(regex);

const matches = regex2.execForAllGroups('ababa bcdefghixyzXXXX');
console.log(matches);
Ryusuke NaritaRyusuke Narita

でもそもそもこのパッケージは capture グループ使えない。。。