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

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

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

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

    Nginx正则表达式之匹配操作符详解 原

    例如:防止rewrite、盗链、对静态资源设置缓存以及浏览器限制等等。由于nginx配置中有if指令,但是没有对应else指令,所以判断要分为匹配和不匹配。...字符串表达式支持正则表达式,能设定大小写是否敏感。因此共有四个操作符, 如下: ~     区分大小写(大小写敏感)匹配成功  ~*   不区分大小写匹配成功  !...~*  不区分大小写匹配失败 1: 限制某些类型的客户端的访问 if指令 所有的Nginx内置变量都可以通过if指令和正则表达式来进行匹配,并且根据匹配结果进行一些操 代码如下 复制代码 location...Nginx将在这个字符串匹配后停止进行正则表达式的匹配(location指令中正则表达式的匹配的结果优先使用),如:location ^~ /images/,你希望对/images/这个目录进行一些特别的操作...3.@ 表示为一个location进行命名,即自定义一个location,这个location不能被外界所访问,只能用于Nginx产生的子请求,主要为error_page和try_files。

    1.4K20

    Angular2 VS Angular4 深度对比:特性、性能

    Angular2 的特性和性能 AtScript是ES6的超集,用于帮助Angular2的开发。...实例范围: 增强的DI库是由实例范围控制器组成的,当与子注入器连同范围标识符一起使用时,会更加强大。...指令: Angular2提供了三种指令:  组件指令:通过将逻辑封装在HTML,CSS和JavaScript中,从而使得组件可复用。...装饰器指令:可用于装饰元素(例如,通过隐藏/显示元素ng-hide/ng-show或添加工具提示)。 模板指令:可以将HTML转换为可复用的模板。...这意味着如果开发人员不需要使用动画,就可以不创建这些额外的代码。 这个功能还能够帮助更方便的查找docs文件和使用自动完成功能。

    8.7K20

    Angular的12个经典问题,看看你能答对几个?(文末附带Angular测试)

    每个接口都有一个前缀为ng的hook方法。例如,ngOnint界面的OnInit方法,这个方法必须在组件中实现。  一部分事件适用于组件/指令,而少数事件只适用于组件。...Angular应用程序具有路由器服务的单个实例,并且每当URL改变时,相应的路由就与路由配置数组进行匹配。...简而言之,EventEmitter是在@ angular/core模块中定义的类,由组件和指令使用,用来发出自定义事件。...避免网址重定向,除非它是可信的。 考虑使用AOT编译或离线编译。 通过限制api,选择使用已知或安全环境/浏览器的app来防止XSRF攻击。...如何实现不出现编辑器警告的自定义类型? 在大多数的情况下,第三方库都带有它的.d.ts 文件,用于类型定义。

    17.4K80

    服务器配置

    ---- 设置网络连接的序列化 指令格式:accept_mutex on | off; 该指令默认为on状态,表示会对多个Nginx进程接收连接进行序列化,防止多个进程对连接的争抢。...:可选项,自定义服务日志的字符串格式。...这里的uri分为标准uri和正则uri,两者的唯一区别是uri中是否包含正则表达式 uri前面的方括号中的内容是可选项,解释如下: “=”:用于标准uri前,要求请求字符串与uri严格匹配,一旦匹配成功则停止...“~”:用于正则uri前,并且区分大小写 “~*”:用于正则uri前,但不区分大小写 “^~”:用于标准uri前,要求Nginx找到标识uri和请求字符串匹配度最高的location...后,立即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配 ---- 请求根目录配置 指令格式:root path; path:Nginx接收到请求以后查找资源的根目录路径

    2.1K20

    Nginx认识与实践(一) 转

    指令格式:accept_mutex on | off; 该指令默认为on状态,表示会对多个Nginx进程接收连接进行序列化,防止多个进程对连接的争抢。...image.png 自定义服务日志 指令格式: access_log path [format]; path:自定义服务日志的路径 + 名称 format:可选项,自定义服务日志的字符串格式。...这里的uri分为标准uri和正则uri,两者的唯一区别是uri中是否包含正则表达式 uri前面的方括号中的内容是可选项,解释如下: “=”:用于标准uri前,要求请求字符串与uri严格匹配,一旦匹配成功则停止...“~”:用于正则uri前,并且区分大小写 “~*”:用于正则uri前,但不区分大小写 “^~”:用于标准uri前,要求Nginx找到标识uri和请求字符串匹配度最高的location...后,立即使用此location处理请求,而不再使用location块中的正则uri和请求字符串做匹配 请求根目录配置 指令格式:root path; path:Nginx接收到请求以后查找资源的根目录路径

    30430

    今天终于彻底搞懂 Nginx 的五大应用场景

    server_name : 服务名称,用于配置域名 location : 用于配置映射路径uri对应的配置,一个server中可以有多个location, location后面跟一个uri,可以是一个正则表达式...\ 反斜杠:用于转义特殊字符 小括号()之间匹配的内容,可以在后面通过1来引用,2表示的是前面第二个()里的内容。...~ 表示执行一个正则匹配,区分大小写 ~* 表示执行一个正则匹配,不区分大小写 /xxx/ 常规字符串路径匹配 / 通用匹配,任何请求都会匹配到 location...第一个(必需)参数是请求URI必须匹配的正则表达式。 第二个参数是用于替换匹配URI的URI。...user=1 break; } 3. error_page指令 使用error_page指令,您可以配置NGINX返回自定义页面以及错误代码,替换响应中的其他错误代码,或将浏览器重定向到其他URI。

    72210

    Nginx从入门到放弃06-Nginx的N种特别实用示例

    ,合集在 https://g.xgss.net/nginx/一、locationlocation块负责匹配url,root指令负责将匹配到的url与服务器中某个具体目录对应起来。...if ($request_method = POST){return 405;}3.使用正则表达式对变量进行匹配,匹配成功返回true,否则返回false。变量与正则表达式之间使用"~","~","!...~"代表匹配正则表达式过程中区分大小写,"~*"代表匹配正则表达式过程中不区分大小写"!~"和"!...的值中是否包含MSIE字符串,如果包含返回truereturn 404;}注意:正则表达式字符串一般不需要加引号,但是如果字符串中包含"}"或者是";"等字符时,就需要把引号加上。...”url路径”带入到”root指令路径”中,将带入后的路径作为”最终路径”,使用”最终路径”与url建立对应关系,alias指令则直接将location块的”url路径”与”alias指令路径”建立对应关系

    2.5K21

    建议收藏 | 彻底搞懂 Nginx 的五大应用场景

    c [a-z] :匹配a-z小写字母的任意一个 (a|b|c) : 属线表示匹配任意一种情况,每种情况使用竖线分隔,一般使用小括号括括住,匹配符合a字符 或是b字符 或是c字符的字符串 \ 反斜杠:用于转义特殊字符...相同类型的表达式,字符串长的会优先匹配。 以下是按优先级排列说明: 等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项,停止搜索。 ^~类型表达式,不属于正则表达式。...一旦匹配成功,则不再查找其他匹配项,停止搜索。 正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。 常规字符串匹配类型。按前缀匹配。...第一个(必需)参数是请求URI必须匹配的正则表达式。 第二个参数是用于替换匹配URI的URI。...uri :不带请求参数的当前URI,uri不包含主机名,如”/foo/bar.html”。 document_uri :与uri相同

    99660

    彻底搞懂 Nginx 的五大应用场景

    :服务名称,用于配置域名 location:用于配置映射路径uri对应的配置,一个server中可以有多个location,location后面跟一个uri,可以是一个正则表达式, / 表示匹配任意路径...]:匹配a-z小写字母的任意一个 (a|b|c):属线表示匹配任意一种情况,每种情况使用竖线分隔,一般使用小括号括括住,匹配符合a字符或是b字符或是c字符的字符串 \反斜杠:用于转义特殊字符 小括号()...相同类型的表达式,字符串长的会优先匹配。 以下是按优先级排列说明: 等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项,停止搜索。 ^~类型表达式,不属于正则表达式。...一旦匹配成功,则不再查找其他匹配项,停止搜索。 正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。 常规字符串匹配类型。按前缀匹配。...第一个(必需)参数是请求URI必须匹配的正则表达式。第二个参数是用于替换匹配URI的URI。可选的第三个参数是可以停止进一步重写指令的处理或发送重定向(代码301或302)的标志。

    26410

    应用场景之nginx配置简介

    : 服务名称,用于配置域名 location : 用于配置映射路径uri对应的配置,一个server中可以有多个location, location后面跟一个uri,可以是一个正则表达式, / 表示匹配任意路径...c [a-z] :匹配a-z小写字母的任意一个 (a|b|c) : 属线表示匹配任意一种情况,每种情况使用竖线分隔,一般使用小括号括括住,匹配符合a字符 或是b字符 或是c字符的字符串 \ 反斜杠:用于转义特殊字符...一旦匹配成功,则不再查找其他匹配项,停止搜索。 正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。 常规字符串匹配类型。按前缀匹配。...- #### 第一个(必需)参数是请求URI必须匹配的正则表达式。 - #### 第二个参数是用于替换匹配URI的URI。...$uri :不带请求参数的当前URI,$uri不包含主机名,如”/foo/bar.html”。 $document_uri :与$uri相同

    80930

    彻底搞懂 Nginx 的五大应用场景

    c [a-z] :匹配a-z小写字母的任意一个 (a|b|c) : 属线表示匹配任意一种情况,每种情况使用竖线分隔,一般使用小括号括括住,匹配符合a字符 或是b字符 或是c字符的字符串 \ 反斜杠:用于转义特殊字符...相同类型的表达式,字符串长的会优先匹配。 以下是按优先级排列说明: 等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项,停止搜索。 ^~类型表达式,不属于正则表达式。...一旦匹配成功,则不再查找其他匹配项,停止搜索。 正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。 常规字符串匹配类型。按前缀匹配。...第一个(必需)参数是请求URI必须匹配的正则表达式。 第二个参数是用于替换匹配URI的URI。...uri :不带请求参数的当前URI,uri不包含主机名,如”/foo/bar.html”。 document_uri :与uri相同 - END -

    78220

    彻底搞懂 Nginx 的五大应用场景

    server_name : 服务名称,用于配置域名 location : 用于配置映射路径uri对应的配置,一个server中可以有多个location, location后面跟一个uri,可以是一个正则表达式...c [a-z] :匹配a-z小写字母的任意一个 (a|b|c) : 属线表示匹配任意一种情况,每种情况使用竖线分隔,一般使用小括号括括住,匹配符合a字符 或是b字符 或是c字符的字符串 \ 反斜杠:用于转义特殊字符...~ 表示执行一个正则匹配,区分大小写 ~* 表示执行一个正则匹配,不区分大小写 /xxx/ 常规字符串路径匹配 / 通用匹配,任何请求都会匹配到 location...第一个(必需)参数是请求URI必须匹配的正则表达式。 第二个参数是用于替换匹配URI的URI。...uri :不带请求参数的当前URI,uri不包含主机名,如”/foo/bar.html”。 document_uri :与uri相同

    2.8K52

    【精选】Nginx 详细使用来了

    : 服务名称,用于配置域名 location : 用于配置映射路径uri对应的配置,一个server中可以有多个location, location后面跟一个uri,可以是一个正则表达式, / 表示匹配任意路径...匹配a-z小写字母的任意一个(a|b|c) : 属线表示匹配任意一种情况,每种情况使用竖线分隔,一般使用小括号括括住,匹配符合a字符 或是b字符 或是c字符的字符串\ 反斜杠:用于转义特殊字符小括号()...一旦匹配成功,则不再查找其他匹配项,停止搜索。 正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。 常规字符串匹配类型。按前缀匹配。...第一个(必需)参数是请求URI必须匹配的正则表达式。 第二个参数是用于替换匹配URI的URI。...uri :不带请求参数的当前URI,uri不包含主机名,如”/foo/bar.html”。document_uri :与

    1.2K40

    ☀️ 学会编程入门必备 C# 最基础知识介绍(六)——接口、命名空间、预处理指令、正则表达式、异常处理、文件的输入与输出

    #undef 它用于取消定义符号。 #if 它用于测试符号是否为真。 #else 它用于创建复合条件指令,与 #if 一起使用。 #elif 它用于创建复合条件指令。...正则表达式 是一种匹配输入文本的模式。 .Net 框架提供了允许这种匹配的正则表达式引擎。 模式由一个或多个字符、运算符和结构组成。 如果还不理解正则表达式可以阅读正则表达式 - 教程。...---- 定义正则表达式 下面列出了用于定义正则表达式的各种类别的字符、运算符和结构。...下表列出了转义字符: 字符类 字符类与一组字符中的任何一个字符匹配。 下表列出了字符类: 分组构造 分组构造描述了正则表达式的子表达式,通常用于捕获输入字符串的子字符串。...下表列出了用于替换的字符: 杂项构造 下表列出了各种杂项构造: Regex 类 Regex 类用于表示一个正则表达式。

    1.4K30

    你真的了解如何将 Nginx 配置为Web服务器吗

    location 指令接受两种类型的参数: 前缀字符串(路径名称) 正则表达式 对于前缀字符串参数, URIs 必须严格的以它开头。...如果找到匹配的前缀字符串,仍继续搜索正则表达式,但如果前缀字符串以 ^~ 开头,则不再检查正则表达式。 具体的搜索匹配流程如下: 将 URI 与所有的前缀字符串进行比较。...= 修饰符表明 URI 必须与前缀字符串相等(不是开始,而是相等),如果找到,则搜索停止。 如果找到的最长前缀匹配字符串以 ^~ 开头,则不再搜索正则表达式是否匹配。 存储匹配的最长前缀字符串。...测试对比 URI 与正则表达式。 找到第一个匹配的正则表达式后停止。 如果没有正则表达式匹配,使用 4 存储的前缀字符串对应的 location。 = 修饰符拥有最高的优先级。...有很多预定义变量,例如核心的 HTTP 变量,你也可以使用 set,map 和 geo 指令定义自定义变量。 大多数变量在运行时计算,并包含与特定请求相关的信息。

    2.1K80

    你真的了解如何将 Nginx 配置为Web服务器吗

    location 指令接受两种类型的参数: 前缀字符串(路径名称) 正则表达式 对于前缀字符串参数, URIs 必须严格的以它开头。...如果找到匹配的前缀字符串,仍继续搜索正则表达式,但如果前缀字符串以 ^~ 开头,则不再检查正则表达式。 具体的搜索匹配流程如下: 将 URI 与所有的前缀字符串进行比较。...= 修饰符表明 URI 必须与前缀字符串相等(不是开始,而是相等),如果找到,则搜索停止。 如果找到的最长前缀匹配字符串以 ^~ 开头,则不再搜索正则表达式是否匹配。 存储匹配的最长前缀字符串。...测试对比 URI 与正则表达式。 找到第一个匹配的正则表达式后停止。 如果没有正则表达式匹配,使用 4 存储的前缀字符串对应的 location。 = 修饰符拥有最高的优先级。...有很多预定义变量,例如核心的 HTTP 变量,你也可以使用 set,map 和 geo 指令定义自定义变量。 大多数变量在运行时计算,并包含与特定请求相关的信息。

    2.4K70

    五分钟学NGINX-详解nginx的11个请求阶段

    编译与启用默认状态:realip模块在Nginx的默认编译版本中是不包含的。启用方法:通过在Nginx编译时添加--with-http_realip_module参数,可以启用realip模块。...状态码的种类繁多,涵盖了 Nginx 自定义状态码以及 HTTP 标准状态码。    在实际应用中,return 指令经常与 error_page 指令一起使用。...除了 return 指令外,rewrite 指令也是 rewrite 模块中的重要组成部分。rewrite 指令用于根据正则表达式匹配请求的 URI,并将其替换为新的 URI。...^~:前缀匹配,如果匹配成功,则不再搜索正则表达式 location 块。~:大小写敏感的正则表达式匹配。~*:大小写不敏感的正则表达式匹配。...参数忽略:在匹配 location 时,Nginx 仅考虑 URI 的路径部分,忽略查询字符串。匹配顺序:Nginx 首先尝试精确匹配,然后是最长的前缀匹配,接着是正则表达式匹配。

    2.3K30
    领券