私は、分数を持つことができるかもしれないし、そうでないかもしれない数のブロックを取って標準的な形式で返そうとしています。一例として、SSNを使用して:どのように文字が一致するか、正規表現を使用しないでください
ex1="An example 123-45-6789"
ex2="123.45.6789 some more things"
ex3="123456789 thank you Ruby may I have another"
はすべて基本的には、数字または文字を除いて(何も含まない)何がXXX-XX-にSSNを返すべき「123-45-6789」を返すメソッドに入る必要がありますXXXX形式。突き詰めている部分は、何も存在しないことを識別するための正規表現への方法です。私が何もない場合を除き、期待にすべてのために働くようだ
def format_ssns(string)
string.scan(/\d{3}[^0-9a-zA-Z]{1}\d{2}[^0-9a-zA-Z]{1}\d{4}/).to_a
end
:私は私のSSNを特定するには、これまで持ってい
。 "123456789"は機能しません。この場合、正規表現を使用して何か不足を識別できますか?
'{1}'は完全に冗長で、{0,1}は '?'と同じです。おそらくあなたの質問の答えです。 – tripleee
実際にあなたが '{1}'を持っている場所では、おそらく '?'も意味しています。 – tripleee