Hatena::ブログ(Diary)

LeafCage備忘録 このページをアンテナに追加 RSSフィード Twitter

October 23(Mon),2017

バックスラッシュでエスケープされていないスペースを表す正規表現

いい加減どこに書いたのか忘れてその度に考えて作り直すのが面倒くさいのでメモ。

let list = split(str, '\%(\%(\%([^\\]\|^\)\%(\\\\\)*\)\@<=\\\)\@<! ')

後ろから読んでいった方が理解しやすい

'\\\@<! ' "前にバックスラッシュのない空白

'\%(\%([^\\]\|^\)\%(\\\\\)*\)\@<=\\' "『「バックスラッシュでない文字または行頭」の後の偶数個のバックスラッシュ』の後のバックスラッシュ
  "つまり、まだ完結していない、後ろに文字を取る、意味を持っている、単独のバックスラッシュ

合わせて前に【『「バックスラッシュでない文字または行頭」の後の偶数個のバックスラッシュ』の後のバックスラッシュ】のない空白。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/leafcage/20171023/1508737999