2011-08-31 54 views
1

說我有以下項目(行號僅供參考):故障與正則表達式匹配一個可選的字符串(PowerShell中)

1: ER (1000) Attachments 
2: ER (1000) Attachments (1) 
3: ER (125) Attachments 
4: ER (1) Attachments 

我需要匹配上述所有。下面是我使用正則表達式:

ER \([0-9]*\) Attachments

這將返回數字1,3和4,它不匹配#2。

ER \([0-9]*\) Attachments.+

也不起作用。

任何想法?

+0

沒有什麼我能看到錯了你的表情,不跑窗口來檢查的PowerShell ......呃\([0-9 ] +?\)附件??? –

+0

你是什麼意思不運行Windows來檢查PowerShell的? –

+0

另外,Attachments後括號內的數字可能會超過一位數。 –

回答

2

你可以嘗試

ER \([0-9]*\) Attachments.*$ 

這對我的作品。

編輯

這也爲我的作品:

^.*?\(\d+\).*$ 
+0

這產生了相同的結果。它不會返回附件後有(###)的項目。 –

+0

你只需要匹配'\(\ d + \)'的行或單個實例嗎? – Robusto

+0

整行ER(1000)附件(1)' –