単語単位のcursor移動
Ctrl+矢印キーでできるやつ
自作できないか考える
だいたい共通している挙動
区切り
半角スペース
ひらがな
カタカナ
漢字
全角英数
おそらく、文字コードを読んで、区切っているんだと思う これをもう少し改良すればいけそう
stirng.match(/\p{sc=Hira}+|\p{sc=Katakana}+|\p{sc=Han}+|\p{sc=Latin}+|./ug)
直すところ
/icons/done.icon空白文字を単語に加える
記号のチェック
正規表現作るのがめんどいのでパス
\p{sc=Katakana}だと全部混ざる
ここは[]で個別にチェックしたほうがよさそう
直したやつ
stirng.match(/[\p{sc=Hira}\s]+|[ヲ-゚\s]+|[ァ-ヶ\s]+|[\p{sc=Han}\s]+|[\p{sc=Latin}\s]+|[0-9\s]+|[0-9\s]+|./ug)
↑これだと空白でつながってしまう
あくまで空白の後の単語と区別したいのでこうする
改行以外の空白にmatchするようにした
stirng.match(/(?:\p{sc=Hira}+|[ヲ-゚]+|[ァ-ヶ]+|\p{sc=Han}+|\p{sc=Latin}+|[0-9]+|[0-9]+|.)[^\S\n]*\n*/ug)
絵文字にもmatchする
2020-11-22 00:00:38 ハイフンが消えていることに気づいた
なぜだ?
00:07:46 [0-9]+を[0-9]*にしていたのが原因っぽい?
なんでそれで消えるのかはわからない
参考になりそうなリンク
通常はalphabet以外、つまり\Wで区切られるみたい
defaultの設定でutf-8の場合は、連続した文字種を1単語としているようだ これが実装したい挙動だな
調べてみたがなさそう