次の文字列を分割する必要があります
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"ですので、一致しません。
等
テスト。