忽略空行/双倍间距的Javascript正则表达式

忽略空行/双倍间距的Javascript正则表达式,javascript,regex,Javascript,Regex,我有正则表达式: var regex = /^\([A-Z])+\).+/g; 当我运行regex.test(段落)时,其中段落具有以下内容: (A) 试验 (B) 测试 (C) 测试 它在第二行和第四行遇到了障碍,因为它们是空白的。我想做的是让.test()在有空行的情况下返回true。基本上,如果一行中有任何内容,它必须以至少一个大写字母开头,并用括号括起来 我尝试使用可选的非捕获组,但似乎也失败了: var regex = /^(?:\([A-Z]+\).+)?/g; 需要什么样的正则

我有正则表达式:

var regex = /^\([A-Z])+\).+/g;
当我运行
regex.test(段落)
时,其中
段落
具有以下内容:

(A) 试验

(B) 测试

(C) 测试

它在第二行和第四行遇到了障碍,因为它们是空白的。我想做的是让
.test()
在有空行的情况下返回true。基本上,如果一行中有任何内容,它必须以至少一个大写字母开头,并用括号括起来

我尝试使用可选的非捕获组,但似乎也失败了:

var regex = /^(?:\([A-Z]+\).+)?/g;

需要什么样的正则表达式来实现这一点,或者我最好用
.split('\n')
来分解
段落
变量,并循环检查它?

此正则表达式将满足您的要求

^\([A-Z]+\)|^\s*$

JS演示

var re=/^(\([A-Z]+\).+)?$/gm;
var str='(A)测试\n\n(B)测试\n\n(C)测试';
var m=str.match(re);

document.writeln(m)
/^(\([A-Z]+\.+))?$/gm
确保使用
m
(多行)标记不要使用带有
/g
修饰符的正则表达式的
RegExp#test()。你看,事实上,我不明白你想达到什么目的,请澄清一下,最好用小提琴。