国境の南

Ruby, Railsメイン

【NSFW】最近業務で書いた正規表現

正規表現

(?<!.)フェラ((?!.)|チオ)

2.2.0 (main):0 > "フェラ".match(/(?<!.)フェラ((?!.)|チオ)/)
=> #<MatchData "フェラ" 1:"">
2.2.0 (main):0 > "フェラチオ".match(/(?<!.)フェラ((?!.)|チオ)/)
=> #<MatchData "フェラチオ" 1:"チオ">

2.2.0 (main):0 > "カフェラテ".match(/(?<!.)フェラ((?!.)|チオ)/)
=> nil
2.2.0 (main):0 > "フェラーリ".match(/(?<!.)フェラ((?!.)|チオ)/)
=> nil
2.2.0 (main):0 > "フェラガモ".match(/(?<!.)フェラ((?!.)|チオ)/)
=> nil
2.2.0 (main):0 > "ロックフェラー".match(/(?<!.)フェラ((?!.)|チオ)/)
=> nil

意外と学びの多い正規表現でした。 地味に応用力のあるテンプレっぽい気がします。