2015-05-18 41 views
1

我有以下輸入:正則表達式分成字和標點/符號

func add(var a:Int, var b:Int) -> Int 
{ 
    return a + b 
} 

我使用這個正則表達式\s*\b\s*,我發現這是應該分裂和標點/符號在線。我嘗試過了,它的輸入分頭

func 
add 
(
var 
... 

這正正是我想要它,直到它找到->標誌,它輸出

: 
Int 
) -> 
... 

其他一切工作正常,但我想要它輸出

) 
- 
> 

改爲。

我該如何做到這一點?先謝謝你。

+0

您對哪種正則表達式感興趣? –

+1

在單詞字符'\ w'和非單詞字符'\ W'之間找到單詞邊界'\ b'。在兩個非單詞字符之間不會找到單詞邊界,因此您需要更清楚地指出哪些字符應該分組以及哪些字符應該分割。 – cmbuckley

回答

1

因爲我並不確切地知道你正在使用的正則表達式的版本,並命令正在運行,以驗證它,我不能完全肯定這解決您的問題,但它應該。

\s*(\b|[->])\s* 
+0

它工作,謝謝。 @cmbuckley告訴我,我不會在兩個非單詞字符之間找到單詞邊界。這意味着我將不得不添加所有可能放在'[]'中相鄰的非單詞字符,以便它們分開,正確嗎? – squill25

+0

不會從輸出中刪除' - >'字符嗎?再次,取決於正則表達式的味道。 @Ignaus請你能更新這個問題嗎?這是一個PHP問題? – cmbuckley

+0

@cmbuckley我測試,它被包含在輸出 – squill25

相關問題