我試圖從在JavaScript(所以我不能使用回顧後)字符串中提取函數符號,下面是一些例子:正則表達式來提取函數符號與嵌套函數(JavaScript的)
- F(2 )應該匹配F(
- F(10)克(8)應該匹配F(和克(
- F(2 + G(3))應該匹配F(和克(
- F(2 +克(SQRT(10)))應該匹配F(和克(
- F(G(2))應該匹配F(和克(
現在我使用
/\b[a-z]\([^x]/g
,因爲我不想匹配時,它是一個由字母(如開方)的字符串時,纔會有一個然後寫一個括號。我遇到的問題是列表中的最後一個(嵌套函數)。 (是不是\ b漁獲量的一部分,所以它不匹配。
我目前的計劃是以後每增加一個空格(使用類似
input = input.replace(/\([^\s]/g, '(');
其將嵌套函數,這樣\ b在我開始搞亂輸入字符串之前,我想我會問在這裏是否有更好的方法來做到這一點。顯然,正則表達式不是我超強的,但是我正在努力學習如此解釋與答案將不勝感激(雖然我會採取任何指針,我也可以谷歌自己!我不完全確定在這裏搜索什麼)。
爲什麼你有[^ x]? – Gavriel
'/ \ b [az] \(/ g'根據規則確定[this](https://regex101.com/r/xM6eK4/2)有效嗎? –
我爲f(x)和表達式的簡寫,這意味着我永遠不會有像x(x)這樣的函數,但是我確信這一點。 –