2017-01-19 14 views
0

文字列の最初の100文字に一致する正規表現をまとめようとしていますが、単語を切り捨てずに100文字を超えることはありません:文字列の最初のX文字を最寄りの単語に切り分ける

/^(.{0,100}[^\s]*)/

問題は、それが前ではなく、オーバー出血場合は、これが最後の単語の後にカットすることです。私は前にカットするために探しています - ので、私は一例として、10個の文字を取る場合、これはで切断されます:私はそれがで切断したいとき

The quick brown

The quick

感謝あらかじめ!

答えて

1

否定先読みを使用してこの正規表現を試してみてください:

/^(.{0,100}(?!\w))/ 

デモ:https://regex101.com/r/5BPqk5/2

+0

おかげで、これは所望の効果を達成していない - それは、単語の途中でカットします。だから、私の文章が「大きな茶色のキツネ」の場合は、「大男」の代わりに「大きな仲間」 – Phoenix20

+0

@ Phoenix20それは奇妙です。それは私とここで働いた:https://regex101.com/r/5BPqk5/1 – Ibrahim

+0

私はあまりにもそれを試してみました。私はこれが、「クイックブラウンキツネ」の例が自然に10文字で切り落とされているからだと思います。代わりに「大きな茶色のキツネ」を試してみるか、文字数を12に変更してください。 – Phoenix20

関連する問題