up:: regex
""の中のエスケープ無し”に一致
(?<=[\s\S]+"\[.*)"(?=.*"\n)
肯定先読み後読みを使用した。
Scoopマニフェストの制作に使用。
そのままだと"github": "https://github.com/pyenv-win/pyenv-win"
などにも引っかかるが、たまたま対象が[
から始まってたのでそれで無理矢理弾いた。
:を含まない行を削除
^(?!.*:).*$\n
:を含む行を辞書形式に置換
^(.*):(.*)$
1\t0\t\1\t\2\t
その前に空白や”を削除
|"|
""なしで改行してしまったcsvの余計な行をくっつける
\n(?!.*,.*)
pythonのリストを文字列にしたものを再リスト化
(?<=')(?!, ).*?(?=')
""の中のエスケープ無し”に一致とあまり変わらない。
実際にpythonで使うときは'
が邪魔なのでraw文字列で弾く。
MarkdownのHeadingだけ抜き出し
^(?!#).*\n
#
#
アウトラインを抜きたいときに。
Daily:: フィールドをdate:へ移す
だってデイリーノート使わないし……
それくらいなら他のとこで使えるようにフロントマターに書いたほうが良い。
---\n([\s\S\n]*---?)[\s\S\n]*\[(\d{4,4}-\d{2,2}-\d{2,2}).*\)
---\ndate: $2\n$1
角かっこ内の#を削除する
タグが増えて邪魔だった。
最短一致ではないので、一行に二つURLがある時に関係ない#が消されている。deriveとか。
\[(.*)(?<![C|c])#(.*)\]
[$1$2]
\[(.+?)(?<![c|C])#(.+?)\]
単純なyamlからデータ抜く
date: 2025-04-02
time: 10:56
前方
(.*?)(?=: )
後方
(?<=: )(.*)