首页
学习
活动
专区
工具
TVP
发布

linux 正则表达式匹配包含某些字符串的技巧

经常我们会遇到想找出包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(hede)来过滤”hede”字串,但这种写法是错误的。...我们可以这样写:[^hede],但这样的正则表达式完全是另外一个意思,它的意思是字符串里不能包含‘h',‘e',‘d'三个但字符。那什么样的正则表达式能过滤出包含完整“hello”字串的信息呢?...hede).)*$ 上面这个表达式就能过滤出包含‘hede'字串的信息。我上面也说了,这种写法并不是正则表达式“擅长”的用法,但它是可以这样用的。 解释 一个字符串是由n个字符组成的。...hede)匹配不合格,它之前有"hede"字符串,也就是包含了指定的字符串。 在正则表达式里, ?! 是否定式向前查找,它帮我们解决了字符串“包含”匹配的问题。...在hacker news上看到regex golf,几道很有趣的正则表达式的题,有的需要用到匹配这种匹配,比如需要匹配包含某个单词的串。

8.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

Linux crond 执行原因分析

为了定时监控Linux系统CPU、内存、负载的使用情况,写了Linux Shell脚本,当达到一定值得时候,定时发送邮件通知。.../mimvp-email.sh)是正常的,因为手动执行脚本可以默认获取Linux的环境变量,但通过Crontab做的定时任务,则无法获取环境变量。...分析了原因,crond执行的原因主要有以下几个方面: 1、crond服务没启动 ps -ef | grep -v grep | grep crond         // 查看crond服务是否运行...附上linux下的flock的用法: flock (util-linux 2.13-pre7) Usage: flock [-sxun][-w #] fd#        flock [-sxon][-...error: "(" unexpected 解决方法: 需指定shell解释器命令:SHELL=/bin/bash(请参见上面 crontab编辑示例 SHELL=/bin/bash) 或者参见: LINUX

6K110

linux远程ssh连接上?

背景 昨天下午从公司下班回到家后,想连接linux来给一个docker项目部署好,发现突然连接上了?...这类linux问题,我的排查能力还是不足,并且无从分析,我是直接照着报错去百度搜索,压根没有什么用。...总结 第一点 linux中不是说当一个程序出现了错误,如果是权限问题,不是就是权限不够,全部赋予755权限,反而会导致bug出现 第二点 当linux中重装了ssh后,你的之前修改的权限文件还是不会变的...,也有可能是我重装了ssh,没有碰到上面三个权限文件 第三点 linux出现了错误不要慌,首先使用救援连接进入linux内部,然后根据命令一步步排查,比如sshd -t就是查看ssh服务是否有问题的 一个命令...,学到了 废江博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 转载请注明原文链接:linux远程ssh连接上?

21.8K10

全网最硬核 JVM TLAB 分析(单篇版包含额外加菜)

由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版 全网最硬核 JVM TLAB 分析(单篇版包含额外加菜) 全网最硬核 JVM TLAB 分析 1....TLAB 生命周期停止(TLAB 声明周期停止代表内存被回收,只是代表这个 TLAB 不再被这个线程私有管理)在: 当前 TLAB 不够分配,并且剩余空间小于最大浪费空间限制,那么这个 TLAB 会被退回...如果不管这些孔隙,由于 TLAB 仅线程内知道哪些被分配了,在 GC 扫描发生时返回 Eden 区,如果填充的话,外部并不知道哪一部分被使用哪一部分没有,需要做额外的检查,那么会影响 GC 扫描效率。...单位是字节 默认:0, 0 就是主动设置 TLAB 初始大小,而是通过 JVM 自己计算每一个线程的初始大小 举例:-XX:TLABSize=65536 7.6....线程本轮 GC 分配空间的大小包含 TLAB 中分配的和 TLAB 外分配的,从 图8、图9、图10 流程图中对于线程记录中的线程分配空间大小的记录就能看出,读取出线程分配空间大小减去上一轮 GC 结束时线程分配空间大小就是线程本轮

38550

求字符串内包含重复字符的最长子串

今天我遇到一个问题,题目描述如下:         一个字符串,求这个字符串中包含重复字符的最长子串的长度,如abba返回2,aaaaabc返回3,bbbbbbb返回1,等等上面是测试用例。...那么我解决这个问题的思路有两种: 第一种是,设一个头指针和一个尾指针,头指针指向,包含重复字符子串的第一个字符,尾指针指向包含重复子串的最后一个字符,用一个hashset保存已经出现过的字符,例如abba...,如果尾指针指向的字符,在集合中没有出现,那么将这个字符放入结合,然后尾指针向后移动,这是尾指针会移动到第二个b的位置,如果集合中已经包含了这个字符,那么用尾指针的索引减去头指针的索引,会求出一个子串的长度...第二种思路比较巧妙,思路是这样的这次要以一个hashmap作为辅助,map的key存储的是字符,value存储的是该字符当前的位置,首先设置一个头指针,指向字符串开头,那么从开始遍历字符串,如果map当中包含这个字符

1.1K20

全网最硬核 JVM TLAB 分析(单篇版包含额外加菜)

由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版全网最硬核 JVM TLAB 分析(单篇版包含额外加菜) 全网最硬核 JVM TLAB 分析 1....TLAB 生命周期停止(TLAB 声明周期停止代表内存被回收,只是代表这个 TLAB 不再被这个线程私有管理)在: 当前 TLAB 不够分配,并且剩余空间小于最大浪费空间限制,那么这个 TLAB 会被退回...[image] 如果不管这些孔隙,由于 TLAB 仅线程内知道哪些被分配了,在 GC 扫描发生时返回 Eden 区,如果填充的话,外部并不知道哪一部分被使用哪一部分没有,需要做额外的检查,那么会影响...单位是字节 默认:0, 0 就是主动设置 TLAB 初始大小,而是通过 JVM 自己计算每一个线程的初始大小 举例:-XX:TLABSize=65536 7.6....线程本轮 GC 分配空间的大小包含 TLAB 中分配的和 TLAB 外分配的,从 图8、图9、图10 流程图中对于线程记录中的线程分配空间大小的记录就能看出,读取出线程分配空间大小减去上一轮 GC 结束时线程分配空间大小就是线程本轮

79340
领券