正規表現で非キャプチャ グループを理解しようとしています。
次の入力がある場合:
He hit the ball. Then he ran. The crowd was cheering! How did he feel? I felt so energized!
各文の最初の単語を抽出したい場合は、次の一致パターンを使用しようとしました。
^(\w+\b.*?)|[\.!\?]\s+(\w+)
これにより、目的の出力がサブマッチに配置されます。
Match $1
He He
. Then Then
. The The
! How How
? I I
しかし、私は、非捕獲グループを使用して、それらを試合に戻すことができるはずだと考えていました.
私は試した:
^(?:\w+\b.*?)|(?:[\.!\?]\s+)(\w+)
そしてそれは以下をもたらしました:
Match $1
He
. Then Then
. The The
! How How
? I I
^(?:\w+\b.*?)|(?:[.!\?]\s+)\w+
得られた:
Match
He
. Then
. The
! How
? I
私は何が欠けていますか?
(RegExLib.com を使用して正規表現をテストしていますが、VBA に転送します)。