使用Javascript,我试图用正则表达式分割一个文本,该正则表达式只包含一个字母和一个点;例如'A'。或'Q'。 我正在使用:array [0] .split(/ [A-Z] +。/); 但是,如果存在多个字符(如“AA”),则返回true。或'ZZ'。JavaScript:一个字母和一个点的正则表达式
什么是一个字符的正则表达式?我也有权访问jQuery。
谢谢!
使用Javascript,我试图用正则表达式分割一个文本,该正则表达式只包含一个字母和一个点;例如'A'。或'Q'。 我正在使用:array [0] .split(/ [A-Z] +。/); 但是,如果存在多个字符(如“AA”),则返回true。或'ZZ'。JavaScript:一个字母和一个点的正则表达式
什么是一个字符的正则表达式?我也有权访问jQuery。
谢谢!
这应该工作: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}'冗余? – Desaroll
您不想使用+
,因为它表示“一个或多个”。只要删除它。此外,你必须逃避.
,否则它意味着“任何角色”。
如果你只想匹配一个大写字母和一个点,这应该做的伎俩:/[A-Z]\./g
如果你想正则表达式是不区分大小写,只需添加i
标志:/[A-Z]\./gi
。如果您只想匹配第一个匹配项,请删除g
标志。
你可以试试这个 一个
/\s[A-Z]\.\s/g
难道你试试'/ [AZ] {1} +。/'? –
请添加一些例子。 –
@LucasCosta为什么'{1}'后面的'+'? – empiric