正则

nginx location正则写法(转载)

社会主义新天地 提交于 2020-02-26 08:55:22
nginx location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/ { # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条 [ configuration C ] } location ~ /documents/Abc { # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正则表达式没有匹配到时,这一条才会采用这一条 [ configuration CC ] } location ^~ /images/ { # 匹配任何以 /images/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条。 [ configuration D ] } location ~* \.(gif|jpg|jpeg)$ { # 匹配所有以 gif,jpg或jpeg 结尾的请求 # 然而,所有请求 /images/ 下的图片会被 config D 处理

js正则

守給你的承諾、 提交于 2020-02-26 07:27:43
js正则 首先我们要了解什么是正则表达式? 正则表达式是构成搜索模式(search pattern)的字符序列。 当您搜索文本中的数据时,您可使用搜索模式来描述您搜索的内容。 正则表达式可以是单字符,或者更复杂的模式。 正则表达式可用于执行所有类型的文本搜索和文本替换操作。 创建一个正则 1、通过new创建正则 var num = new RegExp("hello", "ig"); 2、省略new创建正则 var num = RegExp("hello", "ig"); 3、正则常量赋值 var eg = /hello/ig; 正则可以传入两个参数: 1、正则主体部分,一般情况下就是字符串 2、 修饰符 (没有先后顺序) i 忽略大小写 g 全局匹配 m 换行匹配 正则表达式的常用方法 1.test 语法:正则.test(字符串); 功能:在字符串中匹配正则是否存在 返回值:如果存在返回true 如果不存在就返回false var str = "how aRe you"; var num = /are/i; //匹配are忽略大小写 alert(num.test(str)); //返回true 2.exec 格式:正则.exec(字符串) 功能:在字符串中匹配正则是否存在 返回值:如果存在返回一个数组,数组里面存放着匹配的内容.如果不存在,返回null alert(num

正则中需要转义的特殊字符小结

妖精的绣舞 提交于 2020-02-26 04:58:22
$ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。 ( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \ ( 和 \ )。 * 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。 + 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。 . 匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \.。 [ ] 标记一个中括号表达式的开始。要匹配 [,请使用 \[。 ? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。 \ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, ‘n' 匹配字符 ‘n'。'\n' 匹配换行符。序列 ‘\\' 匹配 “\”,而 ‘\(' 则匹配 “(”。 ^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。 { } 标记限定符表达式的开始。要匹配 {,请使用 \{。 | 指明两项之间的一个选择。要匹配 |,请使用 \|。 - 有时候也是需要转义的,如[\\+\\-\\*/],这样[\\+-\\*/]是不行的。 来源: 51CTO 作者:

Shell编程之case语句与函数

寵の児 提交于 2020-02-26 01:21:59
一、case语句 1.语法结构 2.应用案例 1)脚本传不同值做不同事 2)根据用户需求选择做事 二、函数 1.什么是函数? 2.如何定义函数? 3.函数如何调用? 1)当前命令行调用 2)定义到用户的环境变量中 3)脚本中调用 三、综合案例 1.任务背景 2.具体要求 3.综合分析 4.落地实现 四、正则表达式 1.正则表达式是什么? 2.正则能干什么? 3.正则当中名词解释 4.第一类正则表达式 1)正则中普通常用的元字符 2)正则中其他常用元字符 3)扩展类正则常用元字符 5.第二类正则 6.正则表达式总结 五、正则元字符一栏表 六、正则练习作业 1.文件准备 2.具体要求 七、课后作业 脚本搭建web服务 一、case语句 case语句为多重匹配语句 如果匹配成功,执行相匹配的命令 1. 语法结构 说明:pattern表示需要匹配的模式 case var in 定义变量;var代表是变量名 pattern 1) 模式1;用 | 分割多个模式,相当于or command1 需要执行的语句 ;; 两个分号代表命令结束 pattern 2) command2 ;; pattern 3) command3 ;; *) default,不满足以上模式,默认执行*)下面的语句 command4 ;; esac esac表示case语句结束 2. 应用案例 1)脚本传不同值做不同事

爬虫核心基础第二讲(正则表达式)

蓝咒 提交于 2020-02-24 16:31:48
正则表达式 正则表达式简介 正则表达式就是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定的字符以及这些特定字符的组合,组成一个有规则的字符串。这个字符串用来表达对字符串一种过滤的逻辑。 import re pattern = 'python' str = 'python and java' # 第一个参数pattern 正则表达式 模板 # 第二个参数str 表示要匹配的字符串 # 第三个参数 标志位 匹配方式 result = re . match ( pattern , str ) if result : print ( result . group ( ) ) print ( result . start ( ) ) print ( result . end ( ) ) print ( result . span ( ) ) print ( result . string ) else : print ( '没有匹配' ) 匹配单个字符 匹配单个字符 1 .匹配任意除了换行的任意1个字符 2 [] 匹配[]中列举的字符 3 \d 匹配数字 0-9 4 \D 匹配非数字 5 \s 匹配空白 空格 tab键 6 \S 匹配非空白 7 \w 匹配单词字符 a-z A-Z 0-9 _ 8 \W 匹配非单词字符、 # 匹配单个字符 # 1.匹配任意除了换行的任意1个字符 # 2

正则指引-括号(3)反向引用

六眼飞鱼酱① 提交于 2020-02-23 15:04:31
class Program { static void Main(string[] args) { //反向引用 //在表达式内部使用之前捕获分组匹配的文本 string str = "aa"; string reg = @"([a-z])\1";//这里的\1就表示,引用第一个()中匹配的文本内容 bool res = Regex.IsMatch(str, reg); Console.WriteLine(res.ToString()); string str2 = "<a>dd</a>"; string reg2 = @"<([^>]+)>[/d/D]*?</\1>";//这里的\1就表示,引用第一个()中匹配的文本内容 bool res2 = Regex.IsMatch(str2, reg2); Console.WriteLine(res2.ToString()); Console.ReadKey(); } } 来源: https://www.cnblogs.com/lmfeng/p/3342863.html

js正则

。_饼干妹妹 提交于 2020-02-22 22:40:23
关于正则,我相信很多小伙伴跟我一样,在接触的时候信心满满,等学完之后会有点醉,(其实还是练得不够多)那么接下来随小编一起来复习一下这个傲娇的正则。 正则:也叫做规则,让计算机能够读懂人类的规则。 有什么规则呢? 下面小编带大家重新认识认识正则: 正则啊,就像一台验钞机,在你不知道用户提交的钞票真假的时候,总能帮你一眼识别 ! 1、什么是正则,有什么用呢? 正则:也叫做规则,让计算机能够读懂人类的规则; 前端哪些地方用到正则? 常用的有表单验证,或者敏感词过滤; 2、他有什么规则呢? 正则也是一个系统对象,跟数组、json一样,也有个写法规则 简写 var re=//; //只写两斜杠,浏览器会认为是注释,所以尽量不要给他为空,注意两斜杠之间不要有引号 全称 var re=new RegExp(); //Reg是正则的简写,Exp是表达式的简写。 注:大部分情况用简写,只有一种情况用全称写法:正则需要传参的时候;全称写法用到\时,需要两个\,否则是转义字符。 接下来正式介绍一下正则 一、新建正则的两种方法: 方式一:直接量语法 1、通过new创建正则:var box = new RegExp("hello", "ig"); 2、省略new创建正则:var box = RegExp("hello", "ig"); 3、正则常量赋值: var box = /hello/ig; 方式二

django 正则捕捉路径 re_path函数

旧街凉风 提交于 2020-02-21 17:42:47
关于 如果想在路径中捕捉数据,可用re_path 导入函数 from django . urls import path , re_path 写正则捕捉数据 格式 re_path ( 正则表达式,视图函数名 ) 例子 例子当中的正则表达式捕捉了一个分组,这个分组的数据是有名称的分组 所以它所对应的视图函数里面应该也要有一个相同名称的参数来接收捕捉到的内容 视图接收参数 根据上面的操作,我们写一个视图,函数视图函数当中接收一个参数 参数的名称就是正则表达式当中的分组的小组名称 这种情景适用于命名分组的情况 注意命名分组的时候试图函数接收的行参一定要和正则表达式当中的分组名称要一模一样 笔记 来源: CSDN 作者: ifubing 链接: https://blog.csdn.net/ifubing/article/details/104423102

前端要以正确的姿势学习编译原理(上篇)

笑着哭i 提交于 2020-02-21 04:17:08
转自:https://zhuanlan.zhihu.com/p/36301857 前言 最近在我的 timline 上面出现了很多类似《前端为什么要学编译原理》这类文章以及《前端怎么学AST》这类的问题,但是却发现并没有人给大家介绍前端要如何以系统并且正确地学习编译原理,所以我就结合自己的经验以及走过的弯路来给大家分享点心得和经验,希望能让大家少走点弯路。 最后我并不是前端,只是恰好会写点 JavaScript 而已。 目录 上篇: 编译原理为什么难 怎么学好编程语言 代码到底是什么 正则与上下文无关文法 编程语言从 AST 才正式开始 下篇: 静态分析 类型推导 AST 的转换 Conitnuation 字节码虚拟机 编译原理为什么难 大家提起编译原理第一反应都是很难,难到无从下手,但是为什么难呢?说白了,编译原理不就是研究把一门语言解析并且转换成另一门语言的技术吗?这项技术到底有哪些地方成为了阻碍呢?我认为这个最大的阻碍其实就是“编程语言”本身。 我相信在看这篇文章的朋友至少已经学会了 JavaScript 了吧,但是我想多嘴问一句,大家真的懂 JavaScript 吗?能描述出 JavaScript 的语法规则吗?能理解语法所代指的逻辑结构吗?知道 JavaScript 是如何在被解释和执行的吗?所以,大家真的懂 JavaScript 吗?反正我是至今没有底气说自己”精通“

shell第四天正则

雨燕双飞 提交于 2020-02-21 04:13:08
正则 正则分为 基础正则 , 扩展正则 正则 表达式 解释 示范 . 匹配任意单个字符(必须存在) "ro.t"可以是root,roat。"r…t"可以是root,raet ^ 表示以什么开头 “^#” 匹配以#开头的行 $ 表示以什么结尾 “root$” 表示匹配以root结尾的行 * 匹配前一个字符的一个或多个 可以为0 “a*b” 可以是aab,aaab,b,aaaab .* 表示匹配任意长度的字符 “.*t” 可以是root,boot,beat,以t结尾的 [] 表示范围的一个字符 [0-9]匹配数字,[a-z]匹配小写,[abc]匹配abc三个字符的任意一个 [^] 表示不再范围的一个字符,与[]相反 [^0-9]不匹配数字 ^[^] 匹配不在[]范围里的字符为开头的字符 ^[^A-Z] 表示匹配不以大写字母开头的字符 {n} 匹配前面字符至少n个字符 a{2}表示aaa aaaa aaaaa {n,m} 匹配前面字符至少n个字符,最多m个字符 a{2,4}为aaa,aaaa,aaaaa () 分组 < 锁定单词开头 <r 表示单词开头必须是r ,root,read > 锁定单词结尾 t>表示单词结尾必须是t ,root,about 函数 格式 函数名 () { commands } 例:写一个名叫hello_world的函数,要求输出hello world [ root