分类 工具 下的文章

▼ 概述

做日志分析工作的经常需要跟成千上万的日志条目打交道,为了在庞大的数据量中找到特定模式的数据,常常需要编写很多复杂的正则表达式。例如枚举出日志文件中不包含某个特定字符串的条目,找出不以某个特定字符串打头的条目,等等。

▼ 使用否定式前瞻

正则表达式中有前瞻(Lookahead)后顾(Lookbehind)的概念,这两个术语非常形象的描述了正则引擎的匹配行为。需要注意一点,正则表达式中的前和后和我们一般理解的前后有点不同。一段文本,我们一般习惯把文本开头的方向称作“前面”,文本末尾方向称为“后面”。但是对于正则表达式引擎来说,因为它是从文本头部向尾部开始解析的(可以通过正则选项控制解析方向),因此对于文本尾部方向,称为“前”,因为这个时候,正则引擎还没走到那块,而对文本头部方向,则称为“后”,因为正则引擎已经走过了那一块地方。如下图所示:

所谓的前瞻就是在正则表达式匹配到某个字符的时候,往“尚未解析过的文本”预先看一下,看是不是符合/不符合匹配模式,而后顾,就是在正则引擎已经匹配过的文本看看是不是符合/不符合匹配模式。符合和不符合特定匹配模式我们又称为肯定式匹配和否定式匹配。

现代高级正则表达式引擎一般都支持都支持前瞻,对于后顾支持并不是很广泛,因此我们这里采用否定式前瞻来实现我们的需求。

▼ 实现

测试数据:

2009-07-07 04:38:44 127.0.0.1 GET /robots.txt
2009-07-07 04:38:44 127.0.0.1 GET /posts/robotfile.txt
2009-07-08 04:38:44 127.0.0.1 GET /

例如上面这几条简单的日志条目,我们想实现两个目标:

1.把8号的数据过滤掉
2.把那些不包含robots.txt字符串的条目给找出来(只要Url中包含robots.txt的都给过滤掉)。

前瞻的语法是:

(?!匹配模式)

我们先来实现第一个目标——匹配不以特定字符串开头的条目。

这里我们因为要排除一段连续的字符串,因此匹配模式非常简单,就是2009-07-08。实现如下:

^(?!2009-07-08).*?$

Expresso我们可以看到结果确实过滤掉8号的数据。

接下来,我们来实现第二个目标——排除包含特定字符串的条目。

按照我们上面写法,我照葫芦画瓢了一下:

^.*?(?!robots\.txt).*?$

这段正则用大白话描述就是:开头任意字符,然后后面不要跟着robots.txt连续字符串,然后再跟着任意个字符,字符串结尾。

运行测试,结果发现:

没有达到我们想要的效果。这是为什么呢?我们给上面的正则表达式加上两个捕获分组调试一下:

^(.*?)(?!robots\.txt)(.*?)$

测试结果:

我们看到,第一个分组啥都没有匹配到,而第二个分组却匹配了整个字符串。再回过头来好好分析一下刚才那个正则表达式。实际上,当正则引擎解析到A区域的时候,就已经开始执行B区域的前瞻工作。这个时候发现当A区域为Null的时候匹配成功——.*本来就允许匹配空字符,前瞻条件又满足,A区域后面紧跟着的是2009字符串,而并不是robots。因此整个匹配过程成功匹配到所有条目。

分析出原因之后我们对上述的正则进行修正,将.*?移入前瞻表达式,如下:

^(?!.*?robots).*$

测试结果:

Bingo!

转自:https://blog.csdn.net/luoyu6/article/details/82947713

应用场景:我们把导航固定在页面顶部的时候,点击锚链接跳转到相应的部分时,很可能导航把页面的内容覆盖了

像这样,被导航挡住了一部分:

我们想要的结果:

代码实现:

1.A标签:
<a href="javascript:;" class="navItems" navto="services">服务与支持</a>

其中
href="javascript:;"鼠标放上为了显示小手,如果不需要可以去掉
class="navItems" 必须,为了jquery选择器只获取class="navItems"的A标签
navto="services" 必须,瞄点ID

2.瞄点主体内容:
<div id="services">...内容...</div>

其中id="services" 对应上面的navto="services"

3.js代码:

<script type="text/javascript">
$('.navItems').click(function() {
var navto = $(this).attr('navto');
if(navto != "#") {
    var $div = $('#' + navto);
    var top = $div.offset().top || 0;
    $('html,body').animate({
        'scroll-top': top - 70
        }, 500);
} else {
    $('html,body').animate({
        'scroll-top': 0
       }, 500);

    }

});
</script>

其中70值可以根据需要修改偏移量,500值修改移动速度,500值个人觉得效果不错,可以默认不用修改

最后把js代码复制到</body>....这个位置即可.....</html>

说明:上面js代码需要引入jquery文件才有效

本方法最终效果非常棒,点击A标签时缓慢移动,可以说是解决锚点链接跳转后位置上下偏移的完美好办法!如果用纯href="#"这样锚点实现,效果生硬,用户体验差,而且实现上也差强人意,所以推荐大家使用此方法。

完~

1. Windows系统php各种版本下载
https://windows.php.net/downloads/releases/archives/

2.favicon.ico网站,可以按照关键词搜索想要的,如果不喜欢还可以diy
https://www.favicon.cc/

3.icons简单方便网页小图标
http://www.fontawesome.com.cn/faicons/

4.图片网站,好多唯美的图片,找素材可以去这里
https://www.pexels.com/

5.水源logo·免费logo在线制作
http://www.cilogo.com/

6.RGB颜色查询对照表
http://www.114la.com/other/rgb.htm

7.免费图床
https://sm.ms/
https://upload.cc/

8.DiscuzX3.4论坛火车头采集器免登陆发布模块(带测试接口)-百度云
https://www.yudouyudou.com/ziyuanxiazai/gongjuchajian/1416.html

9.typecho博客,有好图
https://hao.su/

10.修复版诱导支付X站源码 自动赚钱
http://www.r435.com/997.html

11.冯耀宗博客
https://www.ssffx.com/

12.deerchao的个人网站,网站模板很喜欢
https://deerchao.net/

13.词无忧长尾关键词查询
http://www.ciwuyou.com/cw/%E7%A6%8F%E5%88%A9/

14.一个在线图片压缩网站(中文),压缩比很高,肉眼几乎不能分辨
https://tinify.cn/developers

15.Typecho开源插件集群
https://github.com/typecho-fans/plugins

16.免费在线自动抠图
https://www.remove.bg/

17.这是一个放射图片的生成网站。生成背景图片很赞
https://wangyasai.github.io/Stars-Emmision/

18.AI智能无损放大图片,如果素材图片模糊可以用此修复AI智能无损放大图片
http://bigjpg.com/

19.GIF图片压缩,GIF图片很大怎么办,可以试试此在线压缩工具
https://tool.gifhome.com/compress/

20.这是一个在线制作lowpoly背景的网站
http://matthew.wagerfield.com/flat-surface-shader/

21.这是一个PDF处理网站,我们可以将pdf文件导出PPT文件,可以将PDF文件进行编辑,压缩和加密。
https://smallpdf.com/

22.双色调图片生成器
https://duotones.co/

23.用完即走,触手可及!好工具网致力于收集打造各种简单易用在线工具,网友无需注册和下载安装即可使用。http://www.nicetool.net/

24.一个发现了可以把玩一整天的神器,正如网站的宣传语一样,让搜索变得更简单。http://magnet.chongbuluo.com/

25.老司机导航,来不及了!https://www.giffox.com/

26.极简的平面设计工具https://www.chuangkit.com/

27.良心免费图片网站大集合http://thestocks.im/

28.设计师网址导航https://hao.uisdc.com/

29.视频鱼http://www.shipinyu.cn/ 支持下载的网站:

BiliBili AcFun 优酷网 腾讯视频 微博秒拍 搜狐 乐视 百度视频 土豆网 芒果tv 凤凰视频 新浪视频 56 酷6 央视网 天天看看 网易视频 百度贴吧 爆米花网 Dilidili 豆瓣 斗鱼 熊猫 风行网 爱奇艺 激动网 秒拍 PPTV 企鹅直播 战旗

30.日本老司机良心制作二次元画像搜索引擎 http://www.ascii2d.net/

未完待续~

二维码