我想寫的是,在「()」一週時間相匹配的正則表達式:JavaScript的正則表達式匹配的幫助
hello()
hello(asd, 2)
hello(asd,sad))
也就是說,第1和第2應該一致,但3號之一。
另外,()必須是在端部,以便:
hello(asd)q
hello(asd)-
不會匹配。
換句話說,我希望正則表達式能夠幫助我知道字符串是否是一個有效的函數調用,所以我可以使用它的eval()。 有人可以幫助我。謝謝。
我想寫的是,在「()」一週時間相匹配的正則表達式:JavaScript的正則表達式匹配的幫助
hello()
hello(asd, 2)
hello(asd,sad))
也就是說,第1和第2應該一致,但3號之一。
另外,()必須是在端部,以便:
hello(asd)q
hello(asd)-
不會匹配。
換句話說,我希望正則表達式能夠幫助我知道字符串是否是一個有效的函數調用,所以我可以使用它的eval()。 有人可以幫助我。謝謝。
這應該這樣做
/(^|\s+)\w+\([^)]?\)$/
或者,如果函數調用是字符串
/^\s*\w+\([^)]?\)$/
你可能也想在開始時使用'^'。 – 2011-04-20 09:22:25
好點 - 或者(^ | \ s +)允許函數調用不佔用整行 – wheresrhys 2011-04-20 09:25:10
中唯一的代碼是否有使用了'eval'理由嗎?您可以避免完全使用它,如果您調用的函數和傳遞的參數位於全局範圍內或僅僅是基本類型,那就特別容易。 – 2011-04-20 09:37:29
我想讓用戶在文本字段hello(「peter」)中輸入,它會被調用。 Eval是唯一的方法。 – ajsie 2011-04-20 12:25:56
「eval」是唯一的方法並不是真的,但我不會推論,因爲這不是什麼大問題。 – 2011-04-20 16:21:35