作者ericshei (ericshei)
看板RegExp
标题[问题] sed , grep 匹配问题
时间Fri Feb 21 13:47:40 2020
请教,我不理解为什麽^..*,[1-9]*,\+在如下grep , sed的结果是match的?
$ echo '11162,1,2020-02-17 19:59:31:696,+000000000 00:01:39.097' | grep '^..*,[1-9]*,\+'
11162,1,2020-02-17 19:59:31:696,+000000000 00:01:39.097
$ echo '11162,1,2020-02-17 19:59:31:696,+000000000 00:01:39.097' | sed 's/^..*,[1-9]*,\+/REPLACED/g'
REPLACED2020-02-17 19:59:31:696,+000000000 00:01:39.097
因为有後面的\+我觉得结果应该是不match的才是,感觉grep及sed像是忽略了\+的部份...
就像缩图如下,在
https://regex101.com/的测试结果是不match的.
https: //ppt.cc/ft48Jx
PS:不知为什麽一直被判定内容有广告,所以我将缩图的:後面加了空白,有劳将空白拿掉就可显示缩图.
环境:
Linux 2.6.32-642.el6.x86_64 #1 SMP Wed Apr 13 00:51:26 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
grep (GNU grep) 2.20
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.90.60.74 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/RegExp/M.1582264062.A.336.html
※ 编辑: ericshei (219.90.60.74 台湾), 02/21/2020 13:49:07
1F:推 art1: 换个贴图网址比较实际 02/21 19:05
2F:→ jfcherng: grep 的某些语法可能跟你想的不太一样唷 02/22 05:15
4F:→ jfcherng: sed 我想大概也是吧, 反正我都是加 -E 保平安 02/22 05:16
5F:→ ericshei: 了解,谢谢J大 02/26 09:57