首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(hede)来过滤”hede”字串,但这种写法是错误的。...你可以理解,正则表达式((?!hede).)*匹配字符串"ABhedeCD"的结果false,因为在e3位置,(?!hede)匹配不合格,它之前有"hede"字符串,也就是包含了指定的字符串。...在正则表达式里, ?! 是否定式向前查找,它帮我们解决了字符串“不包含”匹配的问题。...以下是一些补充: 分享下php生成随机数的三种方法,生成1-10之间的不重复随机数,php生成不重复随机数的例子,需要的朋友参考下。...在hacker news上看到regex golf,几道很有趣的正则表达式的题,有的需要用到不匹配这种匹配,比如需要匹配不包含某个单词的串。

8.7K30

正则表达式在密码强度匹配中的使用

一、背景   今天领导让我写几个正则表达式来对密码做强度验证,听到写正则表达式内心是这样的感觉(哈哈,三分钟搞定,今天又可以打鱼了)。...二、解决方法   以第三种为例,这个可以分解为如下需求: 存在数字 存在字母 存在半角符号 长度六位及以上 关键是如何同时满足前三个条件,在我有限的知识里并不知道怎么搞,然后只好求助于万能的百度了,最终在找了几个小时后发现如下几个关键词...=pattern) :正向预测先行搜索 名字看着高大上,不明所以,看完示例大概明白什么意思,这个表达式匹配从这个表达式起始的字符串(我也不知道咋解释),就是假设这样一个表达式abc(?...=[abc])只会对作用于后面的123,这个显然是不匹配的后整个就不匹配了,然后关键来了名字里有预测两个字,这两个字表名了这个表达式的特性:不占用字符,匹配后如果匹配成功就继续匹配了好像从来不存在这个东西一样...pattern) :反向预测先行搜索 概念和上面一样,但是效果是相反的,abc(?[abc]),对于abc123是匹配成功的,对于abca匹配失败,如下所示: reg = /abc(?!

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

    ODBC连接数据库提示:在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配

    问题现象 业务程序通过ODBC链接RDSforMysql数据库,程序启动后运行提示:[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配。...驱动)这一段,也验证了‘驱动程序和应用程序之间的体系结构不匹配。’...2、定界不是数据库本身问题,但是ECS连同windows镜像都是华为云提供的,需要拉通解决。...位的odbc驱动,再下载安装32位的驱动(此时遇到需依赖安装32位VS的问题,那就先下载安装提示的VS),并更新ODBC数据源的驱动程序后,问题解决。...根因分析 前端业务通过ASP+ODBC调用后台数据库,但是安装的ODBC版本为64位,而ASP为32位,所以不匹配。

    7.5K10

    你应该学习正则表达式

    1 – 年份匹配 我们来看看另外一个简单的例子——匹配二十或二十一世纪中任何有效的一年。 ? 我们使用\b而不是^和$来开始和结束这个正则表达式。\b表示单词边界,或两个单词之间的空格。...[0-9]—— 0到9之间的任何数字 |——OR操作数 2[0-3]——2,后面跟0和3之间的任何数字(即20-23) :——匹配:字符 [0-5]——0到5之间的任何数字 \d——0到9之间的任何数字...——https://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Replace.html 5.0 – 提取单行CSS注释 如果我们想要查找...5.1 – 真实示例 – 将单行注释转换为多行注释 我们可以使用此表达式通过执行以下替换将单行注释转换为多行注释。 ? 在这里,我们只是在每个捕获组之间添加了一个换行符\n。...命令中正则表达式的另一个好处是在文本文件中修改电子邮件。

    5.3K20

    Linux基础之正则表达式

    大家好,又见面了,我是你们的朋友全栈君。 正则表达式:又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。...正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。 给定一个正则表达式和另一个字符串,我们可以达到如下的目的: 1....grep 命令说明: 常用的选项OPTION: -c 显示匹配到的行数之和 -o 仅显示匹配本身 -v 显示非匹配,取反 -i 不区分大小写 -E 支持扩展表达式 -q 静默模式 -n 显示匹配到的行的行号...: 查看显示 /etc/fstab 文件以 # 注释开头的行: 这里也可以不加【】: -v 取反,即显示不以#注释的行,-o 选项为只显示匹配到的字符串: 显示 /etc/fstab 文件非注释的行...,锚定行首为 # 注释的行,取反: 显示 /etc/fstab 文件以#号开头,后面跟一个空格,后面为任意长度任意字符的行, -c 选项可以统计匹配到的行数: 在 /tmp/fstab 文件中加入多个空白行

    1.1K20

    正则表达式

    正则表达式一般是区分大小写的,但是也有些实现是不区分。 正则表达式 nam. 匹配结果 My name is Zheng....- 只有在 [ ] 之间才是元字符,在 [ ] 之外就是一个普通字符; ^ 在 [ ] 中是取非操作。...应用 匹配代码中以 // 开始的注释行 正则表达式 ^\s*\/\/.*$ 匹配结果 public void fun() { // 注释 1      int a = 1;      int b =...它和子表达式匹配的内容一致,比如子表达式匹配到 abc,那么回溯引用部分也需要匹配 abc 。 应用 匹配 HTML 中合法的标题元素。...(1)\)) 结果 (abc) abc (abc 前后查找条件 条件为定义的首尾是否匹配,如果匹配,则继续执行后面的匹配。注意,首尾不包含在匹配的内容中。 正则表达式 ?(?

    73710

    微前端学习笔记(5):从import-html-entry发微DOMJSCSS隔离

    processTpl 函数中,整体思路是正则匹配)经过初步处理后的 html,大致为以下处理过程,整个过程去掉注释注释所有的外联 js 以及删除掉所有的页级 js (当然都收集起来了)注释所有的外联...我将在下面代码片段中注释上各个正则表达式可能匹配的内容,再整体描述一下主要逻辑,有了这些介绍,相信朋友们可以自己读懂该函数剩下的代码。...表达式的结尾处的不区分大小写 i 标记指定不区分大小写。   */const ALL_SCRIPT_REGEX = /()[\s\S]*?...=为正向预查,在任何开始匹配圆括    号内的正则表达式模式的位置来匹配搜索字符串,?!为负向预查,在任何开始不匹配该正则表达式模    式的位置来匹配搜索字符串。    举例:exp1(?!...([^>'"\s]+)/;// 匹配注释const HTML_COMMENT_REGEX = /

    25810

    一键清除JavaScript代码中的注释:使用正则表达式实现

    这个正则表达式可以有效地匹配 JavaScript 代码中的各种注释,并且跳过了以 http: 或 https: 开头的链接。 /\/\*[\s\S]*?\*\/|\/\/[^\n]*|正则表达式解析: 1 . \/\*[\s\S]*?\*\/ :匹配多行注释,包括 /* 开头和 */ 结尾之间的任何字符(包括换行符)。 [\s\S] 匹配任何字符, *?...--> :匹配 HTML 注释,即 结尾之间的任何字符(包括换行符)。 4 . (?的 /g 是指全局匹配(global match)标志,表示在目标字符串中查找所有匹配的子字符串,而不仅仅是第一个匹配项。...如果不使用 /g 标志,那么正则表达式将只会匹配目标字符串中的第一个匹配项,并在找到第一个匹配项后停止搜索。

    46900

    微前端04 : 乾坤的资源加载机制(import-html-entry的内部实现)

    我将在下面代码片段中注释上各个正则表达式可能匹配的内容,再整体描述一下主要逻辑,有了这些介绍,相信朋友们可以自己读懂该函数剩下的代码。...表达式的结尾处的不区分大小写 i 标记指定不区分大小写。 */ const ALL_SCRIPT_REGEX = /()[\s\S]*?...=为正向预查,在任何开始匹配圆括 号内的正则表达式模式的位置来匹配搜索字符串,?!为负向预查,在任何开始不匹配该正则表达式模 式的位置来匹配搜索字符串。 举例:exp1(?!...>/isg; // 匹配含 rel=preload或rel=prefetch 的标签, 小提示:rel用于规定当前文档与被了链接文档之间的关系,比如rel=“icon”等 const LINK_PRELOAD_OR_PREFETCH_REGEX...([^>'"\s]+)/; // 匹配注释 const HTML_COMMENT_REGEX = /

    1.5K20

    这可能是迄今为止最好的一篇正则入门教程-下

    =),这个表达式最能表现零宽断言的真正用途。 一个更复杂的例子:(?).*(?=)匹配不包含属性的简单HTML标签内里的内容。(?...整个表达式匹配的是和之间的内容(再次提醒,不包括前缀和后缀本身)。 注释 小括号的另一种用途是通过语法(?#comment)来包含注释。 例如:2[0-4]\d(?...启用这个选项后,在#后面到这一行结束的所有文本都将被当成注释忽略掉。 例如,我们可以前面的一个表达式写成这样: (?...下面是.Net中常用的正则表达式选项: 表6.常用的处理选项名称说明IgnoreCase(忽略大小写)匹配时不区分大小写。...#在遇到最外层的右括号前面,判断黑板上还有没有没擦掉的"Open";如果还有,则匹配失败 > #最外层的右括号 平衡组的一个最常见的应用就是匹配HTML

    70950

    正则表达式30分钟入门教程

    =)匹配不包含属性的简单HTML标签内里的内容。(?)指定了这样的前缀:被尖括号括起来的单词(比如可能是),然后是.*(任意的字符串),最后是一个后缀(?...整个表达式匹配的是和之间的内容(再次提醒,不包括前缀和后缀本身)。 注释 小括号的另一种用途是通过语法(?#comment)来包含注释。例如:2[0-4]\d(?...要包含注释的话,最好是启用“忽略模式里的空白符”选项,这样在编写表达式时能任意的添加空格,Tab,换行,而实际使用时这些都将被忽略。启用这个选项后,在#后面到这一行结束的所有文本都将被当成注释忽略掉。...下面是.Net中常用的正则表达式选项: IgnoreCase(忽略大小写) 匹配时不区分大小写。...#在遇到最外层的右括号前面,判断黑板上还有没有没擦掉的"Open";如果还有,则匹配失败 > #最外层的右括号 平衡组的一个最常见的应用就是匹配HTML

    84800

    JMeter关联陌生又熟悉

    Comments 可以为空的注释。 Apply to 匹配范围。 Main sample and sub-samples 匹配当前父取样器及其子取样器。...Body(unescaped) :替换了所有的html转义符的响应主体内容,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用。...,1指第一个模板,2指第二个模板,依次类推,0指全文匹配,1指第二个模板,依次类推,0指全文匹配,用2 Match No.(0 for Random) 在匹配时往往会出现多个值匹配的情况,如果匹配数为0...Name 最好有业务含义的名称。 Comments 可以为空的注释。 Apply to 匹配范围。 Main sample and sub-samples 匹配当前父取样器及其子取样器。...可以访问官网进一步了解:https://jmespath.org/ Match No.(0 for Random) 在匹配时往往会出现多个值匹配的情况,如果匹配数为0则代表随机取匹配值;可以用匹配数字来确定多个值中的哪一个

    1K60

    正则表达式工具上线【附正则相关知识】

    相关正则知识 理解概念 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。...重复n次以上,但尽可能少重复 模式修正符 正则表达式在执行时会按他们的默认执行方式进行,但有时候默认的处理方式总不能满足我们的需求,所以可以使用模式修正符更改默认方式。...符号 说明 i 不区分大小写字母的匹配 s 将字符串视为单行,换行符做普通字符看待,使“.”...匹 配任何字符 x 忽略空白及#符号,根据此特性可以添加正则注释 m ^与$符匹配按行匹配 A 强制从字符串开始匹配(多行时默认以每行开始设置) D 以$结尾时不允许后面有换行(使用\m时无效) 匹配字符边界...符号 说明 ^ 匹配字符串的开始 $ 匹配字符串的结束,忽略换行符 以上参考自:[http://houdunren.gitee.io/note/php/5%20正则表达式.html](http://

    54500

    正则表达式必知必会 - 常见问题的正则表达式解决方案

    ----         与正则表达式有关的问题很少会有什么终极答案。更常见的情况是取决于对不确定性的容忍程度。同时存在着多种解决方法,在正则表达式性能与其所能够处理的场景之间总是存在着权衡。...还是那句话,它足以验证大部分的电子邮件地址,所以还是可以拿来一用的。这个匹配电子邮件地址的正则表达式不用区分字母大小写。 十、HTML注释         HTML 页面里的注释必须位于 匹配 HTML 注释的开始标签,也就是 的情况。.*? 匹配 HTML 注释的文字部分,这里用的是懒惰型量词。...-{2,}> 匹配 HTML 注释的结束标签。该模式匹配两个或更多个连字符,所以还可以用来查找 CFML 注释(这种注释的开始/结束标签里包含 3 个连字符)。...这个模式还检查 HTML 注释的开始标签和结束标签中的连字符的个数是否配对(可以用来检查 HTML 注释的格式是否有误)。

    39250

    grep 正则语法速查 + 典型案例

    grep 是一款非常流行的文本搜索工具,它根据正则表达式对文本进行搜索,并输出匹配的行或文本。...在正则表达式里有特殊含义,它匹配一个任意字符,所以 .ssh .bashrc 文件也匹配到了。正则表达式是使用 grep 的基础,它有不同规范,下面将介绍 Linux 中常见的 ERE 和 BRE。...GNU grep 对 BRE 和 ERE 进行了扩展,使得它们之间的差别很小,那就是转义字符的使用:? + | { } ( )\?...[ list ]匹配一个在列表中的字符。[RrB]ose 匹配 "Rose" "rose" "Bose"[^ list ]匹配一个不在列表中的字符。...假定以 # 开头的行属于注释行,若干空白符加 # 开头的也算。正则表达式匹配注释行 ^\s*# 和空白行 ^\s*$,然后使用 -v 选项反选。

    2.3K31
    领券