"string".contains("anotherString")
正規表現VSやその他の文字列API呼び出しをいつ使用するかについての一般的なガイドラインがあるかどうか疑問に思いましたか?
上記の決定.contains()
は簡単ですが(1回の呼び出しでこれを実行できるのに、なぜ正規表現に煩わされるのか)、実際の生活ではより複雑な選択が必要になります。たとえば、2回の.contains()
呼び出しまたは1回の正規表現を行う方がよいでしょうか。
私の経験則では、単一のAPI呼び出しで置き換えることができない限り、常に正規表現を使用することでした。これにより、コードが肥大化するのを防ぐことができますが、特に正規表現が大きくなる傾向がある場合は、コードの可読性の観点からはあまり良くありません。
もう1つの、見過ごされがちな議論は、パフォーマンスです。この正規表現に必要な反復回数(「BigO」など)を知るにはどうすればよいですか?完全な反復よりも速いでしょうか?どういうわけか、誰もが正規表現が5if
ステートメントより短く見えると、それはもっと速くなければならないと思い込んでいます。しかし、これは常に当てはまりますか?これは、正規表現を事前にコンパイルできない場合に特に関係があります。