從@澤穗希的回答爲:https://stackoverflow.com/a/21892359/226255什麼的〜方法做字符串在Ruby中
是什麼!~
辦?
例子:
re = /[^\d.,]/
"0.0687987167581341,0.120311605902415,89.8399554017928,198.151088713489" !~ re
從@澤穗希的回答爲:https://stackoverflow.com/a/21892359/226255什麼的〜方法做字符串在Ruby中
是什麼!~
辦?
例子:
re = /[^\d.,]/
"0.0687987167581341,0.120311605902415,89.8399554017928,198.151088713489" !~ re
方法!~
是=~
的倒數,即!(=~)
。從Ruby Object#!~
documentation:
如果兩個對象不匹配(使用=〜方法),則[obj!〜other]返回true,否則返回false。
所以,既然String#=~
執行串/正則表達式匹配,如果匹配,並且nil
否則,如果匹配String#!~
返回false
和true
否則返回第一匹配的索引。
任何文件,這意味着正則表達式不不匹配。這是這裏也提到=~
逆:Does Ruby regular expression have a not match operator like "!~" in Perl?
顯然它不記錄的某些原因。
這並不明顯,你只是沒有找到正確的地方。 –
@theTinMan - 這樣可以降低正確答案的優點嗎?如果你真的看過我包含的鏈接,你會看到其他人做出了合理的假設,即這樣的函數將以字符串或正則表達式形式記錄。 – ChicagoRedSox
技術上'=〜'返回一個指向該模式的第一個出現的字符串的索引,作爲'Fixnum'是truthy,否則返回nil'(當然這是假的)。 – olleicua
@olleicua你是對的,我沒有想過,謝謝 – mdesantis
不要感謝我,謝謝撬。 – olleicua