0

テストケース:

/((adam)|(eva))+/gi.exec("adameva");

Array[4]
    0: "adameva"
    1: "eva"
    2: undefined  //(should contains captured "adam" word)
    3: "eva"
    index: 0
    input: "adameva"
    length: 4

ご覧のとおり、キャプチャできるグループは 3 つあります。

(...)+   - first
(adam)   - second
(eva)    - third

この正規表現に対してテストするための入力は次のとおりです。

adameva

上記のdebbugexのライブ例でわかるように、テキストは一致しますが..

1 グループと 3 グループのみがキャプチャされます。なぜ2ではないのですか?こちらも似合ってます..

Debuggex デモ

(RE2 正規表現エンジンを使用すると、バグは発生しません。興味がある場合: https://github.com/uhop/node-re2 )

4

0 に答える 0