如何編寫只接受單詞或字母並將它們拆分爲,
的正則表達式?正則表達式只接受變量名稱
我已經試過array = input.replace(/ /g, '').split(',')
,但隨後h-e,a<y
將成爲['h-e','a<y']
我想只接受變量,所以我想h-e,a<y
應該成爲['he','ay']
。
難道是像
array = input.replace(/[\s|^\w]/g, '').split(',')
如何編寫只接受單詞或字母並將它們拆分爲,
的正則表達式?正則表達式只接受變量名稱
我已經試過array = input.replace(/ /g, '').split(',')
,但隨後h-e,a<y
將成爲['h-e','a<y']
我想只接受變量,所以我想h-e,a<y
應該成爲['he','ay']
。
難道是像
array = input.replace(/[\s|^\w]/g, '').split(',')
您可以使用此正則表達式來找到所有你想從您的字符串中刪除字符:
array = input.replace(/[-><?.:;]*/ig, '').split(',')
你會取代所有的字符在 - 的裏面 [ ]。
但我不知道使用哪些字符可能會輸入。我只是想確保我得到的單詞(包括1個字符的單詞) – Jamgreen
我認爲您需要爲變量名稱找到模式,因爲您可能會遇到以下情況:my-var-other-number ..可能導致什麼結果在my-var-other-number或my-var-other-number中。所以如果你有變量之間的空格將是完美的,如果沒有,我認爲你必須以其他方式思考,因爲這是不可能的。例如找到每個變量的所有文件變量。所以如果你找到我的-var 4次,意思就是這個名字,對吧? – damianfabian
拆分,然後再刪除字符不允許的:
input.split(,).map(fix)
其中
function fix(s) {
return s.replace(/[^\w$]/g, '');
}
另一種方法就是抓住你想要的字符,而不是扔掉那些你不這樣做:
function fix(s) {
return s.match(/[\w$]/g).join('');
}
其實這並不完全正確,因爲JavaScript變量名也可以co不含Unicode等字符,如Σ。此外,這不會修復JavaScript變量名稱不能啓動的前導數字字符。
你是什麼意思的「單詞」和「字母」?你的標題是指「變量名稱」 - 你的意思是JavaScript變量名稱?它們可以包括不是「字母」的美元符號和下劃線。你談論「接受」,但你的問題的描述似乎是關於「轉化」。請澄清,謝謝。 – 2016-09-24 05:09:03
我很抱歉。我的意思是單詞(包括1個字符的單詞,這就是我的意思是字母) – Jamgreen