怎样用Perl正则表达式 匹配只有一个大写字母的行,

提问者:牛头萨满 提问时间:2017年09月26日 人气:1
推荐答案
这个大写字符必须在行首吗?

在行首:^[A-Z][^A-Z]+$

不确定在行首:^([^A-Z]+)?[A-Z]([^A-Z]+)。
辅助答案
用户:linwenjiang
2017年10月27日
这个大写字符必须在行首吗?

在行首:^[A-Z][^A-Z]+$

不确定在行首:^([^A-Z]+)?[A-Z]([^A-Z]+)?$

^_^
用户:ouisun
2017年10月23日
/^\s*[A-Z]\s*$/
用户:aidisoft
2017年10月26日
首先读入一行
然后用if($_=~s/([A-Z]/$1/g==1)) 判断
示例如下,自己试一下

bsd# perl -e '$a="ABC"; if ($a=~s/([A-Z])/$1/g==1) { print "only one capital character\n" } else {print "not only one capital character\n"}'
not only one capital character
bsd#
bsd#
bsd#
bsd# perl -e '$a="aaaSddd"; if ($a=~s/([A-Z])/$1/g==1) { print "only one capital character\n" } else {print "not only one capital character\n"}'
only one capital character