235 Views
August 19, 22
スライド概要
KyotoLT Online 第27回 - connpass
https://kyotolt.connpass.com/event/252441/
正規表現の先読み・後読み
https://zenn.dev/usamik26/articles/regex-lookahead
https://usami-k.github.io/
正規表現の 少し進んだ機能 宇佐見公輔 / 株式会社ゆめみ
自己紹介 宇佐見公輔 / 株式会社ゆめみ / iOSテックリード 大阪在住、最寄のゆめみオフィスは京都(まだ物理出社してないが) 来月のiOSDCにパンフレット記事寄稿、トーク登壇予定 来月の技術書典に出展予定
正規表現を再勉強中 で正規表現が言語組み込みになる この機会に、正規表現を再勉強 Swift 意外と知らない機能がいろいろあった 例:名前付きキャプチャ、後方参照 書いた:Swift Regexでキャプチャや名前付きキャプチャを使う - Qiita
正規表現の基本 文字列のパターンマッチ 部分文字列の抽出(キャプチャ)
位置へのマッチ アンカー:「文字列」でなく「位置」にマッチする 長さ0の文字列にマッチすると考えて、ゼロ幅アサーションとも呼ばれる `^`(先頭)`$`(末尾)`\b`(単語の境界)など
少し進んだ機能の紹介 先読み(lookahead) 後読み(lookbehind)
先読み 先読み( )は、位置にマッチする記法の一種で、位置の指定に正 規表現が使える。 `(?=` と `)` で囲む。 lookahead a(?=..d) → a 「 」の次に「任意の2文字+d」が来る場合に限り、「a」にマッチする
後読み 先読み。次に `regex` がくる位置にマッチ。 `(?<=regex)` : 後読み。前に `regex` がくる位置にマッチ。 `(?=regex)` :
否定先読み・否定後読み 否定先読み。次に `regex` がこない位置にマッチ。 `(?<!regex)` : 否定後読み。前に `regex` がこない位置にマッチ。 `(?!regex)` :
先読みが便利な場合(1) 複数の正規表現すべてにマッチするか
先読みが便利な場合(2) 数値の3桁ごとにカンマを挿入するコード → これ、どうなってるの?
先読みが便利な場合(2) 解説
書籍
便利ツール