2016-12-14 112 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 
相关问题