4

Ruby 正規表現を使用して、文字列「localhost」を含まない URL と一致させたい

こちらの回答とコメントに基づいて、2 つのソリューションをまとめました。どちらも機能しているようです。

ソリューション A:

(?!.*localhost)^.*$ 

例: http://rubular.com/r/tQtbWacl3g

ソリューション B:

^((?!localhost).)*$ 

例: http://rubular.com/r/2KKnQZUMwf

問題は、彼らが何をしているのか理解できないことです。たとえば、ドキュメントによると、^さまざまな方法で使用できます。

[^abc]  Any single character except: a, b, or c  
^ Start of line  

しかし、ここでそれがどのように適用されているのかわかりません。

誰かが私のためにこれらの表現を分解し、それらが互いにどのように異なるかを説明できますか?

4

4 に答える 4