次の文字列を分割する必要があります
the quick brown fox jumps over the lazy dog
次のトークンに:
- the
- クイックブラウンフォックスは飛び越えます
- 怠惰な犬
説明するために、分割したいのですthe
が、前の配列要素に区切り文字を含めますthe
(それ自体の個別の要素としてではありません)。
誰かがこれに光を当てることができますか、またはおそらく私に正しい正規表現を与えることができますか?
私はC#を使用しています。
後読み()を使用する必要があります?<=
。名前がすべてを物語っています。前の文字を見て、特定のパターンに一致するかどうかを確認してください。
これは機能するはずです:
"(?<=\\bthe) "
したがって、任意のスペースで、前の文字が一致しているかどうかを確認し、"the"
一致している場合は一致します。
注-単語の境界\\b
(エスケープ\b
)も含める必要があります。そうしないと、のようなもの"bathe"
も一致します。
後読みなしで、すべてのスペースをチェックします。
v v v v v v v v
the quick brown fox jumps over the lazy dog
後読みで、それ以前に持っていたものだけを一致させます"the"
:(今のところ無視し\\b
ます)
"the "
-スペースが見つかりました。最後の文字は"the"
ですので、一致させてください。
"quick "
-別のスペースが見つかりましたが、最後の文字は"...k"
ですので、一致しません。
等
テスト。