需求:
一:* /topics/16689/replies/124751/edit 把数字替换为 /topics/int/replies/int/edit
二:* /_img/uploads/photo/2018/c54755ee-6bfd-489a-8a39-81a1d7551cbd.png!large 变成 /_img/uploads/photo/2018/id.png!large
实现数字替换int,但是同时2018这种年份就不需要替换
问题:
1.如何使用正则表达式匹配“排除某字符串且符合某字符串规范”
2.如何使用三剑客实现
实践:
1.正则表达式“排除某字符串”:
(^ab)这种形式是排除a且b,并不是排除“ab”,非常不实用
^(?!.ab).$这种形式实现不匹配含有ab的行,但是无法实现匹配不含有ab且符合“只包含数字规范”
2.使用三剑客:
grep -v可以实现排除匹配到的规范功能,但是排除了含有2018的/_img/…后,我就无法实现需求二了,且没有发现三剑客有并集的操作实现
linux三剑客+正则表达式使用问题,如何匹配“除了某字符串且同时符合某规范”