早教吧作业答案频道 -->其他-->
Perl匹配下面一个语句出错:$line文件如下ChassisG1234TC80-12M$linem/^Chassis\s+(\w{5,12})\s+(\w{2,9})\s+/;$a=$1;$b=$2;print$a"\n";print$b"\n";#这个值一直为空,由于TC80-12M中有一个“-”,导致匹配失败,如何
题目详情
Perl匹配下面一个语句出错:
$line 文件如下
Chassis G1234 TC80-12M
$line m/^Chassis\s+(\w{5,12})\s+(\w{2,9})\s+/ ;
$a=$1; $b=$2;
print $a"\n";
print $b"\n"; # 这个值一直为空,由于TC80-12M 中有一个“-”,导致匹配失败,如何改表达式使之能正确匹配到“TC80-12M”?
如果$line 的内容为下面的其中一行,第二行这次不是“-”,而是一个空格,怎么样用一个通用的表达式把“TC80-12M”和“TC80 12M”匹配出来.
Chassis G1234 TC80-12M
Chassis G1234 TC80 12M
Jul 6,2011
由于初学,输入太少,只能写出下面的匹配语句,可以勉强完成"TC80-12M"&"TC80 12M"&"TC8012M",
$line m/^Chassis\s+(\w{5,12})\s+(\w{4,15})(\-|\s+)(\w+)/ ; # 如后面加g,匹配不完整,会漏掉空格和“-”后面部分.
$a=$1; $b=$2;$c=$3;
if ($3)
{
$line m/^Chassis\s+(\w{5,12})\s+(\w+(\-|?:\s+)\w+)/g ;
$a=$1; $b=$2;
}else{
$line m/^Chassis\s+(\w{5,12})\s+(\w{4,15})/ ;
}
print $a"\n ";
print $b"\n";
$line 文件如下
Chassis G1234 TC80-12M
$line m/^Chassis\s+(\w{5,12})\s+(\w{2,9})\s+/ ;
$a=$1; $b=$2;
print $a"\n";
print $b"\n"; # 这个值一直为空,由于TC80-12M 中有一个“-”,导致匹配失败,如何改表达式使之能正确匹配到“TC80-12M”?
如果$line 的内容为下面的其中一行,第二行这次不是“-”,而是一个空格,怎么样用一个通用的表达式把“TC80-12M”和“TC80 12M”匹配出来.
Chassis G1234 TC80-12M
Chassis G1234 TC80 12M
Jul 6,2011
由于初学,输入太少,只能写出下面的匹配语句,可以勉强完成"TC80-12M"&"TC80 12M"&"TC8012M",
$line m/^Chassis\s+(\w{5,12})\s+(\w{4,15})(\-|\s+)(\w+)/ ; # 如后面加g,匹配不完整,会漏掉空格和“-”后面部分.
$a=$1; $b=$2;$c=$3;
if ($3)
{
$line m/^Chassis\s+(\w{5,12})\s+(\w+(\-|?:\s+)\w+)/g ;
$a=$1; $b=$2;
}else{
$line m/^Chassis\s+(\w{5,12})\s+(\w{4,15})/ ;
}
print $a"\n ";
print $b"\n";
▼优质解答
答案和解析
模糊的,需要“TC80-12M”和“TC80 12M”最后一列出现.
m/Chassis\s+(\w+)\s+(.+)/g;
准确点的,使用或运算符(|),
m/Chassis\s+(\w+)\s+(\w+(?:\s|\-)\w+)/g;
m/Chassis\s+(\w+)\s+(.+)/g;
准确点的,使用或运算符(|),
m/Chassis\s+(\w+)\s+(\w+(?:\s|\-)\w+)/g;
看了Perl匹配下面一个语句出错:...的网友还看了以下:
连字成词(英语)l u o e b s r u s r e t o s w a e s r t e 2020-05-14 …
u,i,n,c,o,s可以拼成什么单词?还有,o,s,l,h,u,d还有,t,p.s.n.e.r, 2020-05-23 …
假设某程序语言的文法如下:S→SaT|TT→TbR|RT→PdR|P P→fSg|e 其中:VT={ 2020-05-26 …
重新排列字母,写出单词1.s,a,p,e,c,2.r,o,e,t,c,k,3.d,c,o,o,t, 2020-06-06 …
A.根据释义,拼写单词.1.costingalotofmoneyx,p,s,i,e,e,e,n,v 2020-06-10 …
以P,S,A,E开头的单词后面只能跟动词ING形式的单词有哪些? 2020-07-07 …
C语言选择题求解释已知:chars[10],*p=s,则在下列语句中,错误的语句是选择一项:A.s 2020-08-01 …
一.看一看,将下列字母组成单词.1.t,o,e,f,n2.c,s,e,a,b,u,e3.l,e,p, 2020-10-31 …
英语:下1.将下联打乱的字母组成单词,并写出汉语意思1.a,e,h,g,c,n[]2.e,i,s,t 2020-12-10 …
英文单词分类填空动物类1.O()t()p()s2.k()t()e()3.l()b()t()r4.a( 2021-02-05 …