宇宙主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

欧基零壹微头条IP归属甄别会员请立即修改密码
查看: 1667|回复: 9

请教个正则表达式

[复制链接]
发表于 2017-2-18 03:42:28 | 显示全部楼层 |阅读模式
本帖最后由 Ruclinux 于 2017-2-18 06:50 编辑

谢谢了.

现在有一段文本, 如何用正则取出关键字呢? shell里的  我用 grep egrep 都取不出来. 谢谢了

我想取出文本里的所有 包含 /song?id=****** 的这段字符窜, 这个正则表达式应该怎么写呢?  ***** 是5位到12位不等的数字

d=`cat ip.log | grep -E '/song?id=[0-9]\d'`
d=`cat ip.log | grep -E '/song?id=\d'`
d=`cat ip.log | grep -E '/song?id=\d*'`
d=`cat ip.log | grep -E '/song?id=[0-9]'`
d=`cat ip.log | grep -E '/song?id=\d+'`

以上这么写都没有效果.

要读取的内容如下


<ul class="f-hide"><li><a href="/song?id=29775440">女儿情</a></li><li><a href="/song?id=5270938">妈妈的吻</a></li><li><a href="/song?id=213708">熊猫咪咪</a></li><li><a href="/song?id=28700552">侠客行</a></li><li><a href="/song?id=5280398">莫斯科郊外的晚上</a></li><li><a href="/song?id=231412">追梦人</a></li><li><a href="/song?id=138793">孤单北半球</a></li><li><a href="/song?id=5281329">寂寞是因为思念谁</a></li><li><a href="/song?id=176813">春泥</a></li><li><a href="/song?id=237468">潮湿的心</a></li><li><a href="/song?id=379785">心愿</a></li><li><a href="/song?id=26599281">两只蝴蝶</a></li><li><a href="/song?id=281866">拒绝融化的冰</a></li><li><a href="/song?id=104657">驿动的心</a></li><li><a href="/song?id=5200139">Je M' appelle Helene</a></li><li><a href="/song?id=210815">不做情人,不做朋友</a></li><li><a href="/song?id=242215">粉红色的回忆</a></li><li><a href="/song?id=108443">凡人歌</a></li><li><a href="/song?id=64861">明明白白我的心</a></li><li><a href="/song?id=108849">你走你的路</a></li><li><a href="/song?id=241436">无奈的思绪</a></li><li><a href="/song?id=108863">在我生命中的每一天</a></li><li><a href="/song?id=210795">这样爱你对不对</a></li><li><a href="/song?id=211220">梦醒时分</a></li><li><a href="/song?id=30814618">月娘照溪水</a></li><li><a href="/song?id=242207">你潇洒我漂亮</a></li><li><a href="/song?id=25707139">一生所爱</a></li><li><a href="/song?id=79740">阿莲</a></li><li><a href="/song?id=194465">摘下满天星</a></li><li><a href="/song?id=276362">渴望</a></li><li><a href="/song?id=109496">弯弯的月亮</a></li><li><a href="/song?id=119659">兰花草</a></li><li><a href="/song?id=119672">雨中即景</a></li><li><a href="/song?id=119194">三月里的小雨</a></li><li><a href="/song?id=37202359">我很丑,可是我很温柔</a></li><li><a href="/song?id=189259">我是一只小小鸟</a></li><li><a href="/song?id=5280134">伤心雨</a></li><li><a href="/song?id=161990">城里的月光</a></li><li><a href="/song?id=126443">窗外</a></li><li><a href="/song?id=5279696">我的未来不是梦</a></li><li><a href="/song?id=188057">大海</a></li><li><a href="/song?id=29728397">念亲恩</a></li><li><a href="/song?id=65642">一生何求</a></li><li><a href="/song?id=66476">偏偏喜欢你</a></li><li><a href="/song?id=276711">风中有朵雨做的云</a></li><li><a href="/song?id=364155">路灯下的小姑娘</a></li><li><a href="/song?id=364182">站台</a></li><li><a href="/song?id=37856463">情歌好听却难唱</a></li><li><a href="/song?id=37856464">伤心城市</a></li><li><a href="/song?id=212333">有谁知道我在等你</a></li><li><a href="/song?id=212559">女人心</a></li><li><a href="/song?id=212613">下辈子不做女人</a></li><li><a href="/song?id=212445">老地方的雨</a></li><li><a href="/song?id=212605">藕断丝连</a></li><li><a href="/song?id=212580">相思的债</a></li><li><a href="/song?id=194594">让一切随风</a></li><li><a href="/song?id=191819">当你孤单你会想起谁</a></li><li><a href="/song?id=150753">游戏人间</a></li><li><a href="/song?id=150852">耶利亚女郎</a></li><li><a href="/song?id=150904">把根留住</a></li><li><a href="/song?id=150992">其实你不懂我的心</a></li><li><a href="/song?id=113914">张三的歌</a></li><li><a href="/song?id=25641345">北方的狼</a></li><li><a href="/song?id=143146">无情的雨无情的你</a></li><li><a href="/song?id=143474">大约在冬季</a></li><li><a href="/song?id=139385">白桦林</a></li><li><a href="/song?id=204606">故乡花开的时候,我……</a></li><li><a href="/song?id=204602">老家</a></li><li><a href="/song?id=204609">广州姑娘</a></li><li><a href="/song?id=261541">昨夜星辰</a></li><li><a href="/song?id=363369">谁说女子不如男</a></li><li><a href="/song?id=363365">天上掉下个林妹妹</a></li><li><a href="/song?id=363451">粉墨人生</a></li><li><a href="/song?id=363488">爱不爱我</a></li><li><a href="/song?id=198211">壮志在我胸</a></li><li><a href="/song?id=5281327">同桌的你</a></li><li><a href="/song?id=240586">怒海萍踪</a></li><li><a href="/song?id=67646">梦里可是谁</a></li><li><a href="/song?id=68050">不应再犹豫</a></li><li><a href="/song?id=68071">寒傲似冰</a></li><li><a href="/song?id=5256060">用手走路</a></li><li><a href="/song?id=5238661">风中劲草</a></li><li><a href="/song?id=67776">最后一班渡轮</a></li><li><a href="/song?id=67288">顺流逆流</a></li><li><a href="/song?id=67339">天意人心</a></li><li><a href="/song?id=67570">不装饰你的梦</a></li><li><a href="/song?id=210747">那一夜你喝了酒</a></li><li><a href="/song?id=334940">真的好想你</a></li><li><a href="/song?id=228994">酒醉的探戈</a></li><li><a href="/song?id=225894">独上西楼</a></li><li><a href="/song?id=226215">美酒加咖啡</a></li><li><a href="/song?id=228618">恰似你的温柔</a></li><li><a href="/song?id=189688">寂寞沙洲冷</a></li><li><a href="/song?id=212356">红茶馆</a></li><li><a href="/song?id=143299">相思渡口</a></li><li><a href="/song?id=143323">唱着情歌流着泪</a></li><li><a href="/song?id=143289">等你等了那么久</a></li><li><a href="/song?id=63677">一无所有</a></li><li><a href="/song?id=357263">Don't Break My Heart</a></li><li><a href="/song?id=357279">无地自容</a></li><li><a href="/song?id=5282205">梦回唐朝</a></li><li><a href="/song?id=109490">少年壮志不言愁</a></li><li><a href="/song?id=5247458">人在旅途</a></li><li><a href="/song?id=194907">红红好姑娘</a></li><li><a href="/song?id=194885">我被青春撞了一下腰</a></li><li><a href="/song?id=95381">风风雨雨来时路</a></li><li><a href="/song?id=95285">传灯</a></li><li><a href="/song?id=95370">救姻缘</a></li><li><a href="/song?id=95290">明明知道相思苦</a></li><li><a href="/song?id=95393">东南西北风</a></li><li><a href="/song?id=95385">样样红</a></li><li><a href="/song?id=95410">新鸳鸯蝴蝶梦</a></li><li><a href="/song?id=190356">蜗牛的家</a></li><li><a href="/song?id=190353">麻花辫子</a></li><li><a href="/song?id=190401">三十三块</a></li><li><a href="/song?id=190352">星星点灯</a></li><li><a href="/song?id=190381">水手</a></li><li><a href="/song?id=108597">童年</a></li><li><a href="/song?id=109198">恋曲1990</a></li><li><a href="/song?id=123548">相亲相爱一辈子</a></li><li><a href="/song?id=352207">石头记</a></li><li><a href="/song?id=383160">小雨落在我的胸口</a></li><li><a href="/song?id=171946">绿军装的梦</a></li><li><a href="/song?id=171950">军中绿花</a></li><li><a href="/song?id=178734">老鼠爱大米</a></li><li><a href="/song?id=284496">他的名字叫回忆</a></li><li><a href="/song?id=284441">走过的咖啡屋</a></li><li><a href="/song?id=284426">想你的时候</a></li><li><a href="/song?id=284480">走过咖啡屋</a></li><li><a href="/song?id=240664">无言的温柔</a></li><li><a href="/song?id=240808">错误的恋曲</a></li><li><a href="/song?id=346072">大地</a></li><li><a href="/song?id=346151">农民</a></li><li><a href="/song?id=406243280">长城</a></li><li><a href="/song?id=346576">光辉岁月</a></li><li><a href="/song?id=347230">海阔天空</a></li><li><a href="/song?id=112532">江湖路</a></li><li><a href="/song?id=25640679">小李飞刀(小李飞刀 主题曲)</a></li><li><a href="/song?id=112705">世间始终你好</a></li><li><a href="/song?id=171366">半斤八两</a></li><li><a href="/song?id=169307">世事如棋</a></li><li><a href="/song?id=169966">无情夜冷风</a></li><li><a href="/song?id=172447">双星情歌</a></li><li><a href="/song?id=172392">梨涡浅笑</a></li><li><a href="/song?id=171530">浪子心声</a></li><li><a href="/song?id=26305527">江南</a></li><li><a href="/song?id=122058">小芳</a></li><li><a href="/song?id=77163">2002年的第一场雪</a></li><li><a href="/song?id=77158">冲动的惩罚</a></li></ul>
发表于 2017-2-18 03:54:19 | 显示全部楼层
? 需要加转义符吧\?
 楼主| 发表于 2017-2-18 03:59:42 | 显示全部楼层
574722031 发表于 2017-2-18 03:54
? 需要加转义符吧\?

同样没有效果,谢谢您的回复
发表于 2017-2-18 06:30:33 | 显示全部楼层
本帖最后由 dabiantai 于 2017-2-18 06:32 编辑

用grep -P
还有?要转义
d=`cat ip.log | grep -P '/song\?id=\d{5,12}`
发表于 2017-2-18 06:33:41 | 显示全部楼层
应该可以的吧

  1. cat 1.log
  2. asdfasdfasdfasdf/song?id=123123
  3. asdfasdfasdfasdf/song?id=342323423
  4. asdfasdfasdfasdf/song?id=adsdf
  5. asdfasdfasdfasdf/song?id=234234
  6. asdfasdfasdfasdf/song?id=323423333333
  7. asdfasdfasdfasdf/song?id=234234234
  8. asdfasdffffffffffffffffffffffffffffsdf
  9. dddddddddassssss
复制代码

  1. cat 1.log |grep -E '/song\?id=[0-9]{5,9}'
  2. asdfasdfasdfasdf/song?id=123123
  3. asdfasdfasdfasdf/song?id=342323423
  4. asdfasdfasdfasdf/song?id=234234
  5. asdfasdfasdfasdf/song?id=323423333333
  6. asdfasdfasdfasdf/song?id=234234234
复制代码
 楼主| 发表于 2017-2-18 06:51:21 | 显示全部楼层
dabiantai 发表于 2017-2-18 06:30
用grep -P
还有?要转义
d=`cat ip.log | grep -P '/song\?id=\d{5,12}`

我试了, 还是没有效果, 谢谢您了.
发表于 2017-2-18 08:02:20 | 显示全部楼层
d=`cat ip.log |grep -P -o '\/song\?id=\d+'`   
 楼主| 发表于 2017-2-18 08:25:44 | 显示全部楼层

您这个也没有效果, 读取出来的是我一楼里的内容. 谢谢您了
 楼主| 发表于 2017-2-18 08:27:40 | 显示全部楼层
dzxx36gyy 发表于 2017-2-18 08:02
d=`cat ip.log |grep -P -o '\/song\?id=\d+'`

谢谢,您这个有效果了, 谢谢您了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宇宙主机交流论坛

GMT+8, 2024-10-30 13:39 , Processed in 0.064631 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表