在线等一个正则表达式的写法不好意思,对这个确实不熟悉。value是objextTest for use dbnameTest for use
在线等一个正则表达式的写法
不好意思,对这个确实不熟悉。
value是objext=Test for use dbname=Test for use error=101
或者是objext=Test1 Test=Test2 error=102
或者是objext=Test1 for use dbinstance=Test2 for use2 error=103
现在要写一个正则把objext后面到下一个field如(dbname,Test或者dbinstance之间的东西取出来,包括空格)
如上面3个匹配完就是
Test for use
Test1
Test for use
多谢了!
[解决办法]
- Perl code
$_ = "objext=Test for use database_name=Test2 for use error_code=1001.00 ";m/objext=(.+?)\w+=/;print("$1\n");
[解决办法]
正则表达式为:objext=(.+?) (?:dbname|Test|dbinstance)
[解决办法]
没想出来1步怎么做:
- Perl code
use strict;use warnings;my $value="objext=Test for use dbname=Test for use error=101";my @values=split(/\w+=/,$value);shift(@values);my @fields=($value=~/(\w+?)=/g);foreach (0..$#fields){ print("$fields[$_] => $values[$_]\n");} 