IT이야기

Ruby에서 "=~" 연산자

cyworld 2021. 10. 26. 19:27
반응형

Ruby에서 "=~" 연산자는 무엇입니까?


나는 이것을 스크린 캐스트에서 보았고 그것이 무엇인지 알아낼 수 없었습니다. 참조 시트는 일반 패턴 일치 연산자로 다른 연산자와 함께 쌓입니다.


문자열을 정규식과 일치시킵니다.

'hello' =~ /^h/ # => 0

일치하는 항목이 없으면 반환 nil됩니다. 유효하지 않은 인수를 전달하면(즉, 왼쪽 또는 오른쪽이 올바르지 않음) 를 던지 TypeError거나 반환 false합니다.


에서 루비 문서 :

str =~ obj => fixnum or nil

일치 - obj가 Regexp인 경우 str과 일치하는 패턴으로 사용하고 일치가 시작되는 오프셋 위치를 반환하거나 일치하는 항목이 없으면 nil을 반환합니다. 그렇지 않으면 obj.=~를 호출하여 str을 인수로 전달합니다. Object의 기본값 =~는 false를 반환합니다.

"cat o' 9 tails" =~ /\d/   #=> 7
"cat o' 9 tails" =~ 9      #=> false

음, 참조가 정확합니다. "이 정규식과 일치" 연산자입니다.

if var =~ /myregex/ then something end

다른 답변이 이미 언급했듯이 =~정규식 대 문자열 일치 연산자입니다.

참고: =~연산자는 가환성이 아닙니다.

아직 첫 번째 형식만 보았으므로 ruby doc 사이트의 아래 참고 사항을 고려하십시오.

str =~ regexp 

다른 답변에 사용:

참고: str =~ regexp와 동일하지 않습니다 regexp =~ str. 명명된 캡처 그룹에서 캡처된 문자열은 두 번째 경우에만 지역 변수에 할당됩니다.

다음은 두 번째 양식에 대한 문서입니다. 링크


정규식 문자열 일치. 자세한 연산자 목록은 다음과 같습니다. http://phrogz.net/programmingruby/tut_expressions.html#table_7.1


정규 표현식 문자열 일치:

url =~ /google.com/이면 true를 넣습니다.

'=~'는 '일치한다'로 읽을 수 있습니다.


나는 이것이 정규식과 함께 사용되는 패턴 일치 연산자라고 생각합니다.

ReferenceURL : https://stackoverflow.com/questions/3025838/what-is-the-operator-in-ruby

반응형