use strict;
my $values ;
open(OUTFILE,"file.txt") or die("Can't find file.txt:$!") ;
while(defined($values= <OUTFILE>)){
# print $values ;
if($values =~ /.*User Name:(.*);(.*)/ms){
print $1;
print $2;
}}
我的file.txt内容为:
Logon Failure:
User Name:lixin;
Domain:BEIM-SERVER;
Reason:Unknown user name or bad password!
问题:按照我的程序匹配之后,本应$1得到的是lixin,$2得到的是后面所有的内容。
但此时$2只得到个换行,后面两行内容并未得到。
这是因为$values= <OUTFILE>只读取了一行,$/ 中保存这输入行记录分隔符(它的默认分隔符是/n)。因此,每当菱形运算符用于读取数据时,它将一直读取数据,直到它发现与$/一致的字符。所以,如果我们将$/设为 undef ,菱形运算符将读取整个文件并将它们存储在标量中。
要想让perl“吞吃文件”,可以改成这样:
use strict;
my $values ;
open(OUTFILE,"file.txt") or die("Can't find file.txt:$!") ;
$/ = undef; # 此行注掉后,$values 仅读入Logon Failure:
while(defined($values= <OUTFILE>)){
# print $values ;
if($values =~ /.*User Name:(.*);(.*)/ms){
print $1;
print $2;
}}
详细解决方案
Perl正则表达式处理换行
热度:55 发布时间:2024-01-21 19:07:30.0
相关解决方案
- js 正则表达式 运用变量
- 正则表达式 高手来解解决办法
- 正则表达式,务必是字母和数字的组合,求解,
- 【java】以上需求怎么写 java 正则表达式
- 请问:正则表达式,将一个字符串中出现的空格替换
- 正则表达式 IP,该怎么处理
- 正则表达式 特殊字符串轮换
- 正则表达式 提取 html 标签的内容,该如何解决
- "正则表达式"
- 正则表达式。
- 正则表达式 获取图片会合
- 正则表达式 有关问题
- C# 正则表达式 一个字符串中获取接续的数字
- 正则表达式“无序”匹配“多个”字符串,能否实现?多谢
- 正则表达式·好手来
- javascript 正则表达式 请用小写字母和数目字,首字母必须为字母,长度5-15
- 求密码 正则表达式 要求字符 数目字 特殊符号
- 正则表达式,能够获取一串html里面所有客户端控件的id、name、type属性
- 正则表达式,验证只能下传图片格式
- 正则表达式,
- [][正则表达式]正则表达式的有关问题
- 正则表达式,匹配4个以上的正整数?该怎么解决
- [正则表达式]高分, 怎么书写(包含匹配)的正则表达式
- 正则表达式,输入字符串必须含有至少两个空格,其他不限
- 正则表达式.字符里有括号咋匹配?比如:l like the(123)
- 正则表达式 替换字符串,该怎么解决
- 捕获图片(正则表达式),该怎么解决
- c#正则表达式
- 正则表达式-空或者正整数可以吗?>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>该如何处理
- 美女问我有关问题,大家赶快来帮忙,正则表达式