特定搜索模式RegExp
我不熟悉RegExp,但做了一些基础教程。从下面,我需要能够提取以下内容。您的帮助将增强我对RegExp的理解 提取字符串:特定搜索模式RegExp,regex,Regex,我不熟悉RegExp,但做了一些基础教程。从下面,我需要能够提取以下内容。您的帮助将增强我对RegExp的理解 提取字符串: 2016-02-17 19:59:18,182 GMT [transaction-Id=47ad8e96-1db8-4b41-85e5-9256fca485ab] [request_uri=/mydevice/2232234] [] INFO Response:{"executionTimeInMillis":54,"transactionId":"3191569800"
2016-02-17 19:59:18,182 GMT [transaction-Id=47ad8e96-1db8-4b41-85e5-9256fca485ab] [request_uri=/mydevice/2232234] [] INFO Response:{"executionTimeInMillis":54,"transactionId":"3191569800","success":false,"internalTransactionId":"47ad8e96-1db8-4b41-85e5-9256fca485ab","operationResults":[{"operation":"addDevice","code":"409","message":"Cannot add device"}]}
要提取的输出字符串值:
{“操作”:“添加设备”,“代码”:“409”,“消息”:“无法添加设备”}
#!/usr/bin/perl
use strict;
use warnings;
my $string = '2016-02-17 19:59:18,182 GMT [transaction-Id=47ad8e96-1db8- 4b41-85e5-9256fca485ab] [request_uri=/mydevice/2232234] [] INFO Response:{"executionTimeInMillis":54,"transactionId":"3191569800","success":false,"internalTransactionId":"47ad8e96-1db8-4b41-85e5-9256fca485ab","operationResults":[{"operation":"addDevice","code":"409","message":"Cannot add device"}]}';
if($string =~ /(?:transaction\-Id=)(.*)\] \[(?:request_uri=\/mydevice\/)(.*)\] \[.*(?:operationResults.:\[)(.*)\]\}$/ig){
print "$1\n$2\n$3\n";
}
else{
print "no match\n";
}
Perl代码:
#!/usr/bin/perl
use strict;
use warnings;
my $string = '2016-02-17 19:59:18,182 GMT [transaction-Id=47ad8e96-1db8- 4b41-85e5-9256fca485ab] [request_uri=/mydevice/2232234] [] INFO Response:{"executionTimeInMillis":54,"transactionId":"3191569800","success":false,"internalTransactionId":"47ad8e96-1db8-4b41-85e5-9256fca485ab","operationResults":[{"operation":"addDevice","code":"409","message":"Cannot add device"}]}';
if($string =~ /(?:transaction\-Id=)(.*)\] \[(?:request_uri=\/mydevice\/)(.*)\] \[.*(?:operationResults.:\[)(.*)\]\}$/ig){
print "$1\n$2\n$3\n";
}
else{
print "no match\n";
}
(?(?)?