正则表达式,仅在空格之前匹配或没有空格

时间:2018-02-06 04:56:23

标签: javascript regex

我正在尝试创建匹配每个大写字母的全局正则表达式!但只是在空格或没有空格之前,没有小写字母。

例如:

!ABC <space>!XYZ <no space>应该返回:ABC XYZ

但是!ABCtext <space>!XYZ <no space>应该只返回:XYZ

我到目前为止的代码是:

const regex = /![A-Z]*\s/g;

之后返回大写字母!即使他们直接跟着更多的文字,也没有空格。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

![A-Z]+(?=[^\w]|$)

怎么样?

Demo

答案 1 :(得分:0)

正如@PJProudhon建议的那样,我认为你可以使用!([A-Z]+)\b使用单词边界\b

([A-Z]+)将捕获第1组!之后的大写字母。

const regex = /!([A-Z]+)\b/g;