正则

关于JS正则的解释

萝らか妹 提交于 2020-01-29 04:35:05
正则 http://regexper.com 修饰符 g: 全局匹配 i: 匹配大小写 m 多行收缩 元字符 正则表达式有两种基本字符 元字符 原义文本字符 原义概念:表示代表本来文本的字符; 元字符:再正则表达式中有特殊意义的字符 .* + ? $ ^ | \ () {} [] \n \d \w \r\ Q \f \b \cX… [] 或 字符类 将一堆字符放在一个字符类中。匹配结果为一个字符,字符长度由两字决定 {} 量词 作用:决定匹配字符的长度。每个正则字符只匹配一个字符;量词决定结果字符长度0-n。 () . + * ? ^ $ \b \d \w \n \r \f 字符类[] 一般情况下,一个字符对应一个字符串 特殊:需要配【某类】字符 1:使用[]来构建简单的类 2: 所谓的类是指符合某些特性的对象;一个泛指;而不是特定某个字符 例如[abc] 匹配 a b c 中其中一类就可以 字符类取反 [^] 1:使用 ^ 创建反向类 必须在[^] 内 2:不属于某类 [^abc] 非 a b c 范围类 1:[a-z] 匹配 a-z 任意字符 闭意区间表示包含a z 本身 2:在 [] 组成的类可以连写 [a-zA-Z] 预定义类 作用:匹配常见的字符 。 [^\r\n] 任意字符 除了回车和换行的 \d [0-9] \s [’ ‘] \S [^’ '] \w [a-zA-Z0

1.1.4 错题知识整理(机器语言、汇编语言、正则语言、解释程序、编译、汇编)

纵饮孤独 提交于 2020-01-28 16:28:51
计算机中可直接执行的语言:机器语言 用助记符编写的语言:汇编语言 正则语言:编译原理中符合正则文的语言 解释程序的特点:翻译一句执行一句,边编译边执行 编译:高级语言->汇编语言 汇编:汇编语言->机器语言 执行过程:高级语言->汇编语言->机器语言 来源: CSDN 作者: __IronMan__ 链接: https://blog.csdn.net/weixin_43914604/article/details/104099689

正则-- | 单个字符匹配

南笙酒味 提交于 2020-01-27 22:21:38
# ### 正则表达式 # findall 匹配字符串中相应内容, 返回列表 import re ''' lst = re.findall(正则表达式,要匹配的字符串) ''' ''' \d 匹配数字 \D 匹配非数字 ''' lst = re.findall("\d","sadfsdfsa 98&*^&^&92sdf3sdf839 sdf_as 神秘男孩 89") print(lst) lst = re.findall("\D","sadfsdfsa 98&*^&^&92sdf3sdf839 sdf_as 神秘卫星 89") print(lst) """ \w 字母,数字,下划线,包含中文(正则函数当中支持中文的匹配) \W 匹配非字母或数字或下划线 """ lst = re.findall("\w","09090sdf909sdf_+()()&*&*%^%^你好sd") print(lst) lst = re.findall("\W","09090sdf909sdf_+()()&*&*%^%^你好sd") print(lst) """ \s 匹配任意空白符 \S 匹配任意非空白符 """ strvar = """ """ lst = re.findall("\s"," ") print(lst) lst = re.findall("\s",strvar) print(lst)

PHP 正则 email语句详解

馋奶兔 提交于 2020-01-27 11:05:24
PHP正则校验email的代码相信好好学过PHP的人都应该知道下面这段用于eamil校验的语句,但是真正能看懂的就不多了 <?php if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) { echo "您的 E-Mail 通过初步检查"; } ?> 在这句话里,首先是应用了一个eregi函数,这个函数还算好理解。随便找本书,就能给你一段解释: 语法: int ereg(string pattern, string string, array [regs]); 返回值: 整数/数组 本函数以 pattern 的规则来解析比对字符串 string。 比对结果返回的值放在数组参数 regs 之中,regs[0] 内容就是原字符串 string、regs[1] 为第一个合乎规则的字符串、regs[2] 就是第二个合乎规则的字符串,余类推。若省略参数 regs,则只是单纯地比对,找到则返回值为 true。 而不太好理解的就是前面的这段正则表达式了:^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$ 在这段正则表达式中,“+”表示前面的字符串连续出现一个或多个;“^”表示下一个字符串必须出现在开头,“$”表示前一个字符串必须出现在结尾; “.”也就是“.”,这里“

正则表达式语法表

喜夏-厌秋 提交于 2020-01-26 14:22:20
*/ /*--> */ 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“ n ”匹配字符“ n ”。“ \n ”匹配一个换行符。串行“ \\ ”匹配“ \ ”而“ \( ”则匹配“ ( ”。 ^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“ \n ”或“ \r ”之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“ \n ”或“ \r ”之前的位置。 * 匹配前面的子表达式零次或多次。例如,zo 能匹配“ z ”以及“ zoo ”。 等价于{0,}。 + 匹配前面的子表达式一次或多次。例如,“ zo+ ”能匹配“ zo ”以及“ zoo ”,但不能匹配“ z ”。+等价于{1,}。 ? 匹配前面的子表达式零次或一次。例如,“ do(es)? ”可以匹配“ does ”或“ does ”中的“ do ”。?等价于{0,1}。 {*n*} n 是一个非负整数。匹配确定的 n 次。例如,“ o{2} ”不能匹配“ Bob ”中的“ o ”,但是能匹配“ food ”中的两个o。 {*n*,} n 是一个非负整数。至少匹配 n 次。例如,“ o{2,} ”不能匹配“ Bob ”中的“ o ”,但能匹配“ foooood ”中的所有o。

python 教程 第十六章、 正则表达式

爱⌒轻易说出口 提交于 2020-01-25 23:42:37
第十六章、 正则表达式 1) 匹配多个表达式 记号 re1|re2 说明 匹配正则表达式re1或re2 举例 foo|bar 匹配 foo, bar 记号 {N} 说明 匹配前面出现的正则表达式N 举例 [0-9]{3} 匹配 2) 匹配单个/多个/范围内字符 记号 . 说明 匹配任何字符(换行符除外) 举例 b.b 匹配 b和b中间有一个任意字符bab, bcb, bbb 举例 .. (匹配任何两个字符) 匹配 xx, ab 记号 […] 说明 匹配字符组里面出现的任意一个字符 举例 b[aeiou]t 匹配3字符串 bat,bit,but,bet 举例 [ab][23][xy] 匹配3字符串 a2x,a3y,b2x,b3x 记号 [..x-y..] 说明 匹配从字符x到y中的任意一个字符 举例 [0-9] 匹配任意一个十进制数字, [A-Za-z] 匹配任意一个字母 3) 匹配开头结尾边界 记号 ^ 说明 匹配字符串的开始 举例 ^Dear 匹配 任何以Dear开始的字符串 记号 $ 说明 匹配字符串的结尾 举例 /bin/*sh$ 匹配 任何以/bin/*sh结束的字符串 4) 否定范围 记号 [^…] 说明 不匹配此字符集中出现的任何一个字符,包括某一范围的字符 举例 [^aeiou]匹配 [^A-Za-z0-9] 匹配 5) 多次出现/重复匹配 记号 * 说明

python 教程 第十六章、 正则表达式

空扰寡人 提交于 2020-01-25 23:42:22
第十六章、 正则表达式 1) 匹配多个表达式 记号 re1|re2 说明 匹配正则表达式re1或re2 举例 foo|bar 匹配 foo, bar 记号 {N} 说明 匹配前面出现的正则表达式N 举例 [0-9]{3} 匹配 2) 匹配单个/多个/范围内字符 记号 . 说明 匹配任何字符(换行符除外) 举例 b.b 匹配 b和b中间有一个任意字符bab, bcb, bbb 举例 .. (匹配任何两个字符) 匹配 xx, ab 记号 […] 说明 匹配字符组里面出现的任意一个字符 举例 b[aeiou]t 匹配3字符串 bat,bit,but,bet 举例 [ab][23][xy] 匹配3字符串 a2x,a3y,b2x,b3x 记号 [..x-y..] 说明 匹配从字符x到y中的任意一个字符 举例 [0-9] 匹配任意一个十进制数字, [A-Za-z] 匹配任意一个字母 3) 匹配开头结尾边界 记号 ^ 说明 匹配字符串的开始 举例 ^Dear 匹配 任何以Dear开始的字符串 记号 $ 说明 匹配字符串的结尾 举例 /bin/*sh$ 匹配 任何以/bin/*sh结束的字符串 4) 否定范围 记号 [^…] 说明 不匹配此字符集中出现的任何一个字符,包括某一范围的字符 举例 [^aeiou]匹配 [^A-Za-z0-9] 匹配 5) 多次出现/重复匹配 记号 * 说明

python正则--re模块常用方法

一个人想着一个人 提交于 2020-01-25 09:33:39
前面几篇关于正则匹配的文章我用的方法都只有一个re.search 但其实正则re模块提供很多非常好用的方法,我们先来看看re模块都有那些属性方法呢 前面的一堆带_或者大写的就不关注了,主要关注最后面的几个方法 -------------------------------------------------------------------------------------------------------------------------------------------------------- compile用来编译表达式 就是先用compile将正则表达式编译,之后直接使用编译后的表达式来匹配 ---------------------------------------------------------------------------------------------------------------------------------------------------- match和search类似,但区别是match只能从最开始的位置开始匹配 -------------------------------------------------------------------------------------------------------

正则手机、邮箱

孤人 提交于 2020-01-25 05:35:56
// 判断手机格式是否正确 public static boolean isMobileNO(String mobiles) { Pattern p = Pattern .compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"); Matcher m = p.matcher(mobiles); return m.matches(); } // 判断email格式是否正确 public static boolean isEmail(String email) { String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"; Pattern p = Pattern.compile(str); Matcher m = p.matcher(email); return m.matches(); } 来源: CSDN 作者: 野生在江南 链接: https://blog.csdn.net/wuzhixiu007/article/details/104051367

正则判断内容中,不得出现多个不同结果组

一世执手 提交于 2020-01-25 00:50:40
嗯。。。。看标题,有点迷糊,实在是文盲也形容不好这个说法 先看一个简单的例子,有任意长度的数字字符串,判断整个数字字符串有且仅有3个数字,即:1122331122为正确,1122为错误,1234也为错误 其实,这个正则还算比较简单,只需要有个思路一般都能写出来 各位先按照文盲的思路来实现以下 第一步:判断整个字符串是纯数字字符串 ^(?=[\d]+$) ,如果有长度要求,自行替换+符号 如果有格式要求,比如手机号,那么就这么写 ^(?=1\d{10}$) 好,然后问题来了,怎么判断是否已经有了三个不同的数字了呢?这就需要用到分组引用了 先来看看这个 ^(?=[\d]+$)(\d)\1\1 ,这个正则的意义很明显,即在数字字符串开始,前三个是相同的数字,类似 111234、333666999这样的,其中\1就是引用的第一个分子(\d) 那么,我们现在再次使用分组,找出第二个数字,正则大概如下 ^(?=[\d]+$) (\d) (?:\1*?) ( (?!\1) \d) ,这个也不算复杂,红色部分为第一个分组,也就是第一个数字,绿色部分表示,可以有与第一个数字相同的数字,也可以没有,但这个相同数字不参与分组,使用?:修饰符,然后就是蓝色部分,\d表示匹配一个数字,在\d前,紫色部分进行修饰,描述这个数字不能与第一个数字相同,这样就找到了第二个数字 那么