2015-05-18 40 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

相关问题