我在正則表達式(.NET語法,我正在使用RegexOptions.Singleline)中的可選組有問題。正則表達式和一個可選字符串
"function (\w*).*?{(?:.*?\((.*?)\))?.*?}"
也試過了,沒有效果: "function (\w*)[^{]+{(?:.*?\((.*?)\))?.*?}"
它看起來像羣是不可選的,因爲如果我只是在FunctionWithNoParameters那麼一切都工作正常,添加兩個括號。目標是有兩個組:函數名稱和它們的可選參數。有人能幫我嗎?
我試圖解析的文字是這樣的:
function test1
{
param ([int]$parm2, [bool]$parm3)
}
function FunctionWithNoParameters {
return "nothing"
}
function test2 {
param([string]$parm1,
[int]$parm2,
[bool]$parm3)}
謝謝, 亞歷克斯
你不想用正則表達式來解析非常規語言,對嗎? – Gumbo 2009-12-23 13:51:16
不,我不是。這可能不是最好的辦法,對於這個問題;) 我想獲得一個PowerShell腳本中的所有功能(和他們的參數)... – Alex 2009-12-23 13:54:57