當我需要匹配一個簡單的開值JavaScript變量,我用下面的正則表達式:正則表達式的JavaScript變量與嵌套名稱
\s*[a-zA-Z0-9$_]+\s*
現在我需要添加嵌套屬性的支持,也就是說,可點(.
)之名,但有以下考慮:
.
不能在開頭或結尾- 本身就是一個單一
.
無效 個
- 重複點(
a..b
)不準
什麼會修改這樣的正則表達式模式右/最簡單的方法?
如果這有什麼差別,我只對一個版本感興趣,將Node.js的下工作
有效例子
a
a.b
a.b.c
- 個
_.$.123
無效實例
- ``
.
.a
a.
a..b
應該括號表示法也有效嗎?我的意思是你可以寫一個[「b」],例如與a.b相同。變量名也不能以數字開頭,所以我會尋找更完美的解決方案。 – Manticore
@Manticore好問題!在我的情況 - 不,我不需要括號;) –
這裏是我的方法:(?!\ n)\ s * [\ w $] +(\。\ w +)*(?= \ s * \ =。 *?\;) – Manticore