;修饰符被指定为一个可选的标志;多个标志可 以通过按位 OR(I)它们来指定。...(如re.I | re.M 被设置成I和M标志): 修饰符 作用 re.I 使匹配大小写不敏感(忽略大小写) re.L 做本地化识别(locale-aware)匹配 re.M 多行匹配,影响 ^ 和...imx:re) 在括号内使用i,m,x 可选标志 (?-imx:re) 在括号内不使用i,m,x 可选标志 (?#...) 注释 (?=re) 前向肯定界定符。如果所含正则表达式,以 ......匹配除“\n”之外的任何单个字符,匹配“\n”之内的使用“ [....\n] ”模式 \d 匹配一个数字字符 \D 匹配一个非数字字符 \s 匹配任何空白字符 \S 匹配任何非空白字符 \w 匹配包含下划线的任何单词字符 \W 匹配任何非单词的字符 ----
字符{}:指定所匹配字符的出现次数。如:/de{1,3}f/匹配def,deef和deeef;/de{3,}f/匹配不少于3个e在d和f之间;/de{0,3}f/匹配不多于3个e在d和f之间。...任意大小写字母、数字的表示方法为:/[0-9a-zA-Z]/,-表示字符范围。 转义字符\ 如果你想把模式中的特殊字符作为普通字符,须在其前加斜线“\”。...如:/\*+/中\*即表示字符*,而不是上面提到的一个或多个字符的含义。反斜杠表示为/\//。...锚模式 ^ 或 \A仅匹配串首$ 或 \Z仅匹配串尾\b匹配一个单词边界,也就是指单词和空格间的位置, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。.../; 把str1中的第一个字符替换为str2中的第一个字符,把str1中的第二个字符替换为str2中的第二个字符,依此类推; 知识点回顾 匹配:m//; 替换:s/
如果省略,则默认值为0。 match_type:指定如何执行匹配的字符串。其含义与 REGEXP_LIKE() 所述相同。 ...可选的 match_type 参数是一个字符串,它可以包含指定如何执行匹配的以下任何字符的组合: c:区分大小写。 i:不区分大小写。 m:多行模式。识别字符串中的行终止符。...但如果有参数是二进制字符串,则即使 match_type 包含 i 字符,参数也会作为二进制字符串以区分大小写的方式处理。 ...作为一个更复杂的例子,正则表达式 B[an]*s 匹配字符串 Bananas、Baaaas、Bs 中的任何一个,以及以 B 开头、以 s 结尾并包含介于两者之间的任意数量的 a 或 n 字符的任何字符串...两个其他字符之间的 - 字符形成一个范围,匹配从第一个字符到第二个字符的所有字符。例如,[0-9] 匹配任何十进制数字。若要包含 ] 字符,它必须紧跟在左括号 [ 之后。
前言 说起正则表达式( Regular Expression ),很多人都会头疼,记命令都要记得吐血,不过正则表达式的效率真的是高的一比,完全可以从文本中筛选出你想要的任何内容,所以还是得学啊,并且如果没有正则表达式的话...常用元字符 元字符不是普通的字符,是代表了某种意义的字符,这里就把基本的元字符给记下来 (如果要匹配的东西是元字符的话要用 \ 转义) 元字符 意义 \b 匹配单词的开始或结束( 中间不少于 1 个 \...,相当于 [^\w] \S 匹配任意不是空⽩符的字符 \D 匹配任意⾮数字的字符,相当于 [^\d] ---- #这里说的单词并不是英语单词,是不少于一个 \w 的东西,更精确的说法,\b 匹配这样的位置...:它的前⼀个字符和后⼀个字符不全是(⼀个是,⼀个不是或不存在) \w 举个例子 \b\w{6}\b 匹配 刚好6个字符的单词 ^\d{5,10}$ 匹配你在表单里填写的 5 到 10 位的 QQ 号...重复n次以上,但尽可能少重复 处理标记 标记 描述 i 不区分大小写: 将匹配设置为不区分大小写。 g 全局搜索: 搜索整个输入字符串中的所有匹配。 m 多行匹配: 会匹配输入字符串每一行。
如 re.I | re.M 被设置成 I 和 M 标志: 修饰符 描述 re.I 使匹配对大小写不敏感 re.L 做本地化识别(locale-aware)匹配 re.M 多行匹配,影响 ^ 和 $ re.S...\b 匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。 \B 匹配非单词边界。'...匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。 \d 匹配一个数字字符。等价于 [0-9]。 \D 匹配一个非数字字符。...\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。 \S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。 \w 匹配包括下划线的任何单词字符。...\W 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。
更好的做法是设置 smartcase 项。它只有在输入的字符中有大写才启用大小写敏感,否则就是大小写不敏感。...可以在匹配时输入\c来不区分大小写而使用 \C区分大小写,这个符号可以出现在任何位置,哪怕你输入 /requ\Cire它也能正确找到所有的 require字符串。...我们来看这个正则表达式, 匹配以某些字符开头或者结尾的单词,例如 以 Py 开头的单词,而 on> 将匹配所有以 on 结尾的单词,因为这里我们的需求并没有要求要匹配以某些字符开头的单词...,加上这个就限定我们要匹配单词而不是某些个字符。...q=\\\\\/ 本篇中主要讲述了如何在vim中使用正则表达式,到此应该已经聊完了vim中查找模式中的基本操作了。后面我们将介绍该如何进行替换操作。
,也就是字符个数 str(x) 将任意类型转化为字符串类型 hex(x)或oct(x) 整数x的16进制或8进制小写形式的字符串 chr(u) Unicode编码转化为对应字符 ord(x) 字符串转化为对应...>>> 'gdc'.capitalize() 'Gdc' ②str.casefold() 返回原字符串消除大小写的副本。消除大小写的字符串可用于忽略大小写的匹配。...调用此方法的字符串可以包含字符串字面值或者以花括号 {} 括起来的替换域。每个替换域可以包含一个位置参数的数字索引,或者一个关键字参数的名称。...chars 参数为指定要移除字符的字符串。 如果省略或为 None,则 chars 参数默认移除空格符。...如果 sep 未指定或为 None,任何空白字符串都会被作为分隔符。 ⑲str.translate(table) 返回原字符串的副本,其中每个字符按给定的转换表进行映射。
虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。 假设你在一篇英文小说里查找hi,你可以使用正则表达式hi。...\ba\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b),然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)。...好吧,现在我们说说正则表达式里的单词是什么意思吧:就是不少于一个的连续的\w。不错,这与学习英文时要背的成千上万个同名的东西的确关系不大 :) \d+匹配1个或更多连续的数字。...(或整个字符串的第一个单词,具体匹配哪个意思得看选项设置) 字符类 要想查找数字,字母或数字,空白是很简单的,因为已经有了对应这些字符集合的元字符,但是如果你想匹配没有预定义元字符的字符集合(比如元音字母...代码/语法 说明 \W 匹配任意不是字母,数字,下划线,汉字的字符 \S 匹配任意不是空白符的字符 \D 匹配任意非数字的字符 \B 匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [
对于高级的使用,你可能需要更关注匹配引擎是如何执行给定的 RE,并通过一定的方式来编写 RE,以便产生一个可以运行得更快的字节码。...让我们来举个例子:\w 匹配任何单词字符。...匹配单词的开始或结束 \B 与 \b 相反 它们可以包含在一个字符类中,并且一样拥有特殊含义。...是一个字符类,它将匹配任何空白字符(/s 的特殊含义),’,’ 或 ‘.’。 最后我们要讲的一个元字符是 . ,它匹配除了换行符以外的任何字符。如果设置了 re.DOTALL 标志,....你可以省略 m 或者 n,这样的话,引擎会假定一个合理的值代替。省略 m,将被解释为下限 0;省略 n 则会被解释为无穷大(事实上是上边我们提到的 20 亿)。
语法格式为: re.compile(pattern[, flags]) 参数: pattern : 一个字符串形式的正则表达式 flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为...如 re.I | re.M 被设置成 I 和 M 标志: 修饰符 描述 re.I 使匹配对大小写不敏感 re.L 做本地化识别(locale-aware)匹配 re.M 多行匹配,...\b 匹配一个单词边界,也就是指单词和空格间的位置。例如, ‘er\b’ 可以匹配"never" 中的 ‘er’,但不能匹配 “verb” 中的 ‘er’。 \B 匹配非单词边界。...匹配除 “\n” 之外的任何单个字符。要匹配包括 ‘\n’ 在内的任何字符,请使用象 ‘[.\n]’ 的模式。 \d 匹配一个数字字符。等价于 [0-9]。 \D 匹配一个非数字字符。...\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]'。 \W 匹配任何非单词字符。等价于 ‘[^A-Za-z0-9_]’。
自带了支持拓展正则表达式的 GNU 版本 grep 工具,所有的Linux发行版中均默认安装grep ,grep 被用来检索一台服务器或工作站上任何位置的文本信息, 如何在 Linux 系统和类 Unix...在下面的例子中,查询了所有以字母 “b” 开头、字母 “t” 结尾的三个字符的单词。...grep '\' FILENAME在上面的例子中:\单词的开始位置匹配空格字符串\> 在单词的结尾匹配空格字符串检索并输出所有两个字母的结果:grep '^..$' FILENAME检索并显示所有以...1、如何检索一个具有以 ‘-‘ 开头的的模式?...使用下面例子的语法:grep -o regex FILENAME正则表达式操作符总结正则表达式:操作符 含义. 匹配任何单个字符。? 匹配前一个字符0次或1次。* 匹配前一个字符≥0次。
虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。...好吧,现在我们说说正则表达式里的单词是什么意思吧:就是不少于一个的连续的\w。不错,这与学习英文时要背的成千上万个同名的东西的确关系不大 :) \d+匹配1个或更多连续的数字。...(或整个字符串的第一个单词,具体匹配哪个意思得看选项设置) 字符类 [] 要想查找数字,字母或数字,空白是很简单的,因为已经有了对应这些字符集合的元字符,但是如果你想匹配没有预定义元字符的字符集合(...\B 匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [^aeiou] 匹配除了aeiou这几个字母以外的任意字符 例子:\S+匹配不包含空白符的字符串。...以这个表达式为例:a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。
如果为TRUE或省略(默认),则执行区分大小写的匹配;如果为FALSE,则不区分大小写。...2.默认情况下,该函数区分大小写。要忽略文本大小写,将参数match_case设置为FALSE。因为VBA Regexp的限制,不支持不区分大小写的模式。...接下来,还有一组3位数字d{3},后跟任何连字符、句点或空格[\-\.\s]?出现0或1次。 最后一组4位数字\d{4}后跟一个单词边界\b,以明确电话号码不能是较大号码的一部分。...因为电话号码可以在字符串中的任何位置,不一定在最开始的位置,所以会添加*量词来检查后面的每个字符。开头的^和结尾的$锚定确保处理整个字符串。...,后跟任何月份缩写,以|分隔,以启用or逻辑,后跟一组4或2位数字。
二、字符串基础操作 2.1键盘输入 键盘输入的任何内容都是字符串 name = input("my name is: ") my name is: Peter name # 返回的是字符串类型数据 '...python中有这样一句话:变量是无类型的,对象有类型 x = 5 # 变量x可以贴在int类型的数字5上:赋值语句 x = "python" # 变量x也可以贴在字符串类型上 # 通过赋值语句来表示变量和字符串对象之间的引用关系...,放在里面的任何字符串都是表示它的原始含义,从此不需要转义 s = "hello \npython" print(s) # 发生换行 hello python # 如何解决:1-使用转义字符 print..."learn python" str3 'learn python' # 标准切割 str3[0:4:1] # 步长为1 'lear' str3[:4:1] # 开头的0可以省略 'lear' str3...中实现各种类型的大小写转化 upper():字母全部转为大写 lower():字母全部转为小写 capitalize():首字母全部转为大写 title():字符串中所有单词的首字母大写,其他为小写 isupper
如何构造正则表达式?正则表达式像其他语言一样,有自己独有的语法,掌握其用法,就可以构造需要的正则表达式。...r'\AFlash''Flashs''Flash'\b匹配空字符串,匹配单词的词首和词尾,单词被定义为一个字母数字序列,因此词尾是用空白符或非字母数字符来表示的r'Flash\b'Flashs'''r'Flash...''s' 重复量词 如果想要匹配前一个字符n次,总不能把前一个字符写n次吧,正则表达式另一个强大的功能是可以指定重复的次数。...Flaaa''Fla' 分组与条件或 上面特殊字符以及重复量词都是只能对前一个字符匹配,如果需要将前面几个字符作为一个整体(例如匹配以ab开头的字符串)或者匹配指定无规则字符中的一个(例如匹配以字母a...VERBOSE或者X该标志通过给予你更灵活的格式(如跨行、添加注释)以便你将正则表达式写得更易于理解。
基本语法: 区分大小写: ECMAScript 中的一切(变量,函数名和操作符)都区分大小写。 标识符: 表示符就是指,变量,函数,属性名字,或者函数的参数。 ...注意:格式为,匈牙利命名法(o + 单词 o代表的就是object ,a +单词 a代表的就是array,i + 单词 i 代表的是int) 驼峰命名法(...多个单词组合而成的命名的时候,第一个单词不大写,后面的单词首字母大写) 不要把关键字,保留字作为表示符。...,可以用来保存任何类型的数据。 ...变量名是大小写英文、数字、$和_的组合,且不能用数字开头。
目录 本文目标 如何使用本教程 正则表达式到底是什么东西?...如何使用本教程 别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有想像中的那么困难。...虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是 \b 并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。 假如你要找的是hi后面不远处跟着一个Lucy,你应该用 \bhi\b....下面来看看更多的例子: \ba\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b),然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)。...(或整个字符串的第一个单词,具体匹配哪个意思得看选项设置) 字符类 要想查找数字,字母或数字,空白是很简单的,因为已经有了对应这些字符集合的元字符,但是如果你想匹配没有预定义元字符的字符集合(比如元音字母
虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。 假如你要找的是hi后面不远处跟着一个Lucy,你应该用\bhi\b....下面来看看更多的例子: \ba\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b),然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)。...\b\w{6}\b 匹配刚好6个字符的单词。 元字符 表1.常用的 代码 说明 ....这里的{5,12}和前面介绍过的{2}是类似的,只不过{2}匹配只能不多不少重复2次,{5,12}则是重复的次数不能少于5次,不能多于12次,否则都不匹配。...匹配一行的第一个单词(或整个字符串的第一个单词,具体匹配哪个意思得看选项设置) 字符类 要想查找数字,字母或数字,空白是很简单的,因为已经有了对应这些字符集合的元字符,但是如果你想匹配没有预定义元字符的字符集合
通配符的分类 "%" 百分号通配符: 表示任何字符出现任意次数 (可以是0次)。 "_" 下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符。...($) 匹配字符串的结束位置,如“X^”表示以字母X结尾的字符串。 (.) 这个字符就是英文下的点,它匹配任何一个字符,包括回车、换行等。 (*) 星号匹配0个或多个字符,在它之前必须有内容。...REGEXP中的正则匹配 : [] 功能:匹配[]符号中几个字符之一,支持解析正则表达式 -- 匹配包含英文字符的数据,默认不区分大小写情况下 SELECT * from app_info where...-- 只能匹配整体以a开头的,例如abcd select * from app_info where appName regexp '^a'; -- 能匹配整体以a开头的,也能匹配中间的单词以a开头,如...[[::]] 分别匹配一个单词开头和结尾的空的字符串,这个单词开头和结尾都不是包含在alnum中的字符也不能是下划线。
X 删除前一个字符 删除3个字符就是3x dd:删除一行 D 删除到行尾 caw:改写单词 c 相当于 d 变为编辑模式 J:删除换行符,使下一行并上来。...(),{},[],等 ’ 移动到上一次的修改行 fx 向右跳到本行字符x处(x可以是任何字符) Fx 向左跳到本行字符x处(x可以是任何字符) tx 和fx相同,区别是跳到字符x前 Tx...当前屏幕的上中下位置,大小写皆可 Ctrl+G:显示当前位置 set number:设置显示行号,set nonumber:关闭显示 :set ruler 设置在窗口右下角显示行号,与上面的好处是,节省空间...nb:向前移动n个单词,nw:向后移动n个单词。光标位于单词的第一个字母处。 nw这个操作很慢,不知何故。 以空格、标点符号与单词的分界为分隔符。...ns:删除后面n个字符,并进入编辑模式。 ~:更改字母的大小写,同时光标进入到下一个字符。 n~:把后面n个字母的大小写状态改变。 dw:删除单词后面部分 db:删除单词前面部分。
领取专属 10元无门槛券
手把手带您无忧上云