正則表達式專家的一個小問題。我有三組不同的charachters我想分開,也許你們可以幫我一點。PowerShell正則表達式過濾
$Dash = '-', '-*','*-','L-','-L' # always a dash sign with or without something else
$Blank = '', $null, ' ','*',' *', '* ', ' ' # no letter, no dash, but possible asterix
$Char = 'L', 'F','R*','*C',' C','C ' # always a letter that can be either L, F, C or R with or without asterix or space
我開始喜歡這一點,因爲我不是一個正則表達式的專家,但它不工作了這麼WEL併成爲過於複雜:
$array | foreach {
if ($_ -match '-') {Write-Host "Dash : $_" -ForegroundColor Cyan}
elseif (($_ -eq '') -or ($_ -eq $null) -or ($_ -eq ' ') -or ($_ -like ‘`* ’)) {Write-Host "Blank : $_" -ForegroundColor Yellow}
else {Write-Host "Perm : $_" -ForegroundColor Magenta}
}
謝謝您的幫助。
試着用更多的細節來描述你以後是什麼樣的模式。一些關於有效和無效比賽的例子也不錯。 – vonPryz 2014-10-03 11:37:32
有效的選項是'$ Dash','$ Blank'和'$ Char'中定義的選項。一切都應該失敗的正則表達式。所以總共需要3個不同的正則表達式來分隔結果。我希望這更清楚。 – DarkLite1 2014-10-03 12:14:35