0

PCRE を使用して、フレーズ内の単語のすべてのペアを検索しています。「速い茶色のキツネが怠惰な犬を飛び越えた」というフレーズ。生成する必要があります

The quick
quick brown
brown fox
fox jumped
jumped over
...
...
lazy dog

私は両方の単語を消費する関数 FindAndConsume() を使用していますが、結果の半分しか得られません!

The quick
brown fox
jumped over
...
...
the lazy

そのため、すべての単語のペアを取得する方法があるかどうかを見つけようとしています。

4

1 に答える 1

1

正規表現は重複する一致を見つけません。あなたがやりたいことをするために、私はあなたが最初にあなたのテキストを単語に分割し、次に通常のループを使ってそれらの隣人と一緒にアイテムを抽出することを提案します。

または、正規表現の2番目の単語を先読みしてキャプチャ(\w+)(?=\W+(\w+)\b)することもできます。ただし、一致ではなくキャプチャを取得するようにしてください(一致には最初の単語のみが含まれるため)。

于 2013-02-20T04:42:10.907 に答える