亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
正則匹配提取文本
[打印本頁]
作者:
mvplove123
時(shí)間:
2016-02-18 11:18
標(biāo)題:
正則匹配提取文本
本帖最后由 mvplove123 于 2016-02-18 11:27 編輯
大神們,有個(gè)正則匹配問題,請(qǐng)教下,如何只匹配name:后面的值(示例1:北京新世紀(jì)日航飯店寫字樓,示例2: 示例3:五道口),下面為日志的三種格式
1、to=name:
北京新世紀(jì)日航飯店寫字樓
$uid:1_100040664735$coord:1.2949036E7,4828900.0&dt=1
2、to=name
uid:1_7ZZZvuYRVBvm$coord:1.2967055E7,4833891.0&dt=1
3、to=name:五道口&dt=1
就是如果文本中有$,則提取截止第一個(gè)$符號(hào)的字符,
如果沒有$,則提取截止第一個(gè)&符號(hào)前面的字符,
我是這么寫的,但是有問題to=name
.*?)\$?&
我要java的正則,
作者:
jason680
時(shí)間:
2016-02-18 11:35
本帖最后由 jason680 于 2016-02-18 11:35 編輯
回復(fù)
1#
mvplove123
$ grep -oP "(?<=to=name:)[^&$]*" FILE
北京新世紀(jì)日航飯店寫字樓
五道口
$ perl -lane '{print $1 if(m/(?<=to=name:)([^\$\&]*)/)}' FILE
北京新世紀(jì)日航飯店寫字樓
五道口
作者:
moperyblue
時(shí)間:
2016-02-18 11:58
(?<=name:)(?!uid:)\b[^&$]*
復(fù)制代碼
作者:
L_WC
時(shí)間:
2016-02-18 18:07
本帖最后由 L_WC 于 2016-02-18 18:25 編輯
回復(fù)
1#
mvplove123
perl
[root@server0 ~]# cat cut_name.pl
#!/usr/bin/perl
$s1 = 'to=name:北京新世紀(jì)日航飯店寫字樓$uid:1_100040664735$coord:1.2949036E7,4828900.0&dt=1';
$s2= 'to=name:$uid:1_7ZZZvuYRVBvm$coord:1.2967055E7,4833891.0&dt=1';
$s3 = 'to=name:五道口&dt=1';
sub cut_name{
$string = shift;
if($string =~ m/name:(.*?)[$|&]/g){
print $1;
print "\n";
}
else{
print 'No!';
}
}
cut_name($s1);
cut_name($s2);
cut_name($s3);
[root@server0 ~]# perl cut_name.pl
北京新世紀(jì)日航飯店寫字樓
五道口
[root@server0 ~]#
復(fù)制代碼
shell
[root@server0 ~]# s1='to=name:北京新世紀(jì)日航飯店寫字樓$uid:1_100040664735$coord:1.2949036E7,4828900.0&dt=1'
[root@server0 ~]# s2='to=name:$uid:1_7ZZZvuYRVBvm$coord:1.2967055E7,4833891.0&dt=1'
[root@server0 ~]# s3='to=name:五道口&dt=1'
[root@server0 ~]# y=${s1#*name:} && echo ${y%%[\$\&]*}
北京新世紀(jì)日航飯店寫字樓
[root@server0 ~]# y=${s2#*name:} && echo ${y%%[\$\&]*}
[root@server0 ~]# y=${s3#*name:} && echo ${y%%[\$\&]*}
五道口
[root@server0 ~]#
復(fù)制代碼
作者:
zy86416779
時(shí)間:
2016-02-18 19:28
[root@study shell]# cat text
to=name:北京新世紀(jì)日航飯店寫字樓$uid:1_100040664735$coord:1.2949036E7,4828900.0&dt=1
to=name$uid:1_7ZZZvuYRVBvm$coord:1.2967055E7,4833891.0&dt=1
to=name:五道口&dt=1
[root@study shell]# cat text |grep '\ | awk 'BEGIN {FS="$"} {print $1}' | awk 'BEGIN {FS=":"} {print $2}'
北京新世紀(jì)日航飯店寫字樓
[root@study shell]# cat text |grep -v '\ | awk 'BEGIN {FS="&"} {print $1}' | awk 'BEGIN {FS=":"} {print $2}'
五道口
[root@study shell]#
復(fù)制代碼
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2