2015-01-20 3 views
0

정규 표현식. 재미있는 것들. 본질적으로 나는 두 개의 변수를 취하여 전체 변수를보고 다른 변수와 비교하기 위해 -match (또는이 경우에는 -cmatch)를 수행하려고합니다. 변수에는 대문자, 숫자, 특수 문자가 포함될 수 있습니다. 나는 그저 동일하다는 것을 보장 할 필요가있다. 내가 찾던의 아래-C 일치하는 두 변수

예 :

$var1 = "[email protected]^78" 
$var2 = "[email protected]^78" 

$Check = $var1 -cmatch $var2 

, $ 점검 "거짓"돌아옵니다. 캐릭터가 마음에 들지 않는 것 같습니다.

일단 내가 그 $ 도착

If($check-eq$true) {do something} 
ElseIf($check-eq$False) {do something else} 

내가 어디 선가 간과 completly 뭔가를 놓친 거지 알고 기반으로 뭔가를 할 것, 작업. 나는 그 순간에 내 뇌를 두르고있다.

답변

4

비교 대상인 표현에서 특수 문자를 이스케이프 처리해야합니다. 즉 :

PS> $var1 -cmatch [regex]::escape($var2) 
True 

비록, 당신은 그들이 동일한을 보장하기 위해 필요하다고. 그렇다면 -match은 잘못된 연산자이며 다음을 사용해야합니다.

+0

빠른 응답을 보내 주셔서 감사합니다. 위대한 작품과 그것을 감사드립니다! – LTrig

관련 문제