2015-11-25 32 views
-1

我有一個正則表達式類此方法:Swift 2轉換地獄部分327:如何馴服NSMatchingOptions爲零?

func test(input:String) -> Bool 
{ 
    let matches = expression.matchesInString(input, options: nil, range: NSMakeRange(0, count(input))) 
    return matches.count > 0 
} 

雨燕2.1告訴我:

Nil is not compatible with expected argument type 'NSMatchingOptions' 

有人可以告訴我如何正確地解決這一問題? NSMatchingOptions似乎沒有提供任何默認的空屬性。

+0

你張貼整個相關的代碼?如果您不想將任何選項傳遞給正則表達式,請使用'options:[]'。 –

+0

空陣列似乎也可以工作。謝謝。 – BadmintonCat

回答

0

NSMatchingOptionsenum,不是類,所以nil是沒有意義的。您必須使用one of the enum values,其中最可能的是Anchored。這根本不是Swift問題。

+0

好的謝謝,然後錨定應該。 – BadmintonCat

+0

'Anchored'將強制正則表達式嘗試匹配整個字符串輸入。這是你需要的嗎? –

+0

由於OP指定了整個字符串長度的範圍,並且想要匹配的總數,所以我的猜測是「是」。 – NRitH

4

如果您不想將任何選項傳遞給正則表達式,請使用options: []

1

在斯威夫特2空OptionSetType可以<Type>()

NSMatchingOptions() 

或只是一對括號

來表示
[]