2016-12-14 113 views
0

使用Javascript,我試圖用正則表達式分割一個文本,該正則表達式只包含一個字母和一個點;例如'A'。或'Q'。 我正在使用:array [0] .split(/ [A-Z] +。/); 但是,如果存在多個字符(如「AA」),則返回true。或'ZZ'。JavaScript:一個字母和一個點的正則表達式

什麼是一個字符的正則表達式?我也有權訪問jQuery。

謝謝!

+1

難道你試試'/ [AZ] {1} +。/'? –

+1

請添加一些例子。 –

+0

@LucasCosta爲什麼'{1}'後面的'+'? – empiric

回答

1

這應該工作:array[0].split(/([A-Z]{1}\.)/);

說明:
[A-Z]{1} - 這看起來對任何單個字母
\. - 作爲一個正則表達式一個.指這看起來對於.請注意,您所需要的反斜槓字符。 one letter followed by a .

你需要刪除+,因爲它意味着一個或多個:
這是由支架,讓你正在尋找的序列包圍。如果你想找到幾個occorances,那麼你需要全局標誌(g最後):array[0].split(/([A-Z]{1}\.)/g);

限於A.而不是AA。
如果你想確保它只有一個字母后跟一個。不匹配的AA.結束,那麼你可以用這個詞邊界,像這樣:array[0].split(/\b([A-Z]{1}\.)/);

這個網站是驚人的用正則表達式的幫助:https://regex101.com/

+1

糾正我,如果我錯了,但是,不是'{1}'冗餘? – Desaroll

0

您不想使用+,因爲它表示「一個或多個」。只要刪除它。此外,你必須逃避.,否則它意味着「任何角色」。

如果你只想匹配一個大寫字母和一個點,這應該做的伎倆:/[A-Z]\./g如果你想正則表達式是不區分大小寫,只需添加i標誌:/[A-Z]\./gi。如果您只想匹配第一個匹配項,請刪除g標誌。

0

你可以試試這個 一個

/\s[A-Z]\.\s/g 
相關問題