正则

正则示例

不想你离开。 提交于 2019-11-29 19:07:53
基础概念: ^匹配头部 \s 匹配任何空白字符 包括空格、制表符、换页符 * 限定符,匹配前面的子表达式0或多次 ()表示一个字表达式的开始和结束位置 g 表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即 停止; $匹配输入字符结尾的位置 实例:去除字符串首尾空格 function trim(str){ return str.replace(/(^\s*)|(\s*$)/g) } 来源: https://www.cnblogs.com/ClaudiaYan/p/11527533.html

正则笔记

烂漫一生 提交于 2019-11-29 18:50:07
RegExp: \d 可以匹配一个数字 \w 可以匹配一个字母或者数字 \s 表示至少有一个空格 ^ 表示 行的开头 $ 表示行的结束 * 表示任意个字符 + 表示至少一个字符 ? 表示0个或者一个字符 { n } 表示n个字符 { n, m }表示 n-m 个字符 [] 表示范围 () 表示分组 来源: https://www.cnblogs.com/jsersudo/p/11526864.html

Js的正则

≡放荡痞女 提交于 2019-11-29 17:09:43
概念 什么是正则 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。 正则的作用 1)对表单域项目(用户名、密码、邮箱、qq号码、手机等等)进行验证 2)网络爬虫(一个网站到另一个网站的页面上去获取对方的相关信息) 3)内容替换、获取 前台的验证、正则处理满足条件的字符串(网络爬虫 Python编程)数据采集(大宗点评:商家评论 抓取) curl函数库:模拟http请求。 最最最常用:表单验证 应用场景 手机号替换:替换前:13412345678 替换后 134****5678 敏感词替换: 原字符串:发发达中国辅个钓鱼岛地方规划导共产党 替换后:发发达xxx辅xxx地方规划导xxx 正则的创建 字面量创建 语法:var regexp = /正则表达式/修饰符; 注意: //不需要加引号 直接实例化 语法:var regexp = new RegExp(“正则表达式”,修饰符); 参数说明 【必选】正则表达式:由一些普通字符和元字符组成(就是具有特殊含义的字符)【正则表达式区分大小写】 【可选】修饰符:可以使m、i、g分别表示多行匹配,i不区分大小写,g全局匹配 思考 /锄禾日当午/ 是不是正则表达式? 是的! 原因:只要写在“/”和“/”直接的内容就是正则表达式

java.util.regex Pattern 正则

冷暖自知 提交于 2019-11-29 15:31:31
/** String 中 replaceAll(),matches(),split() 等方法,都是调用Pattern中的方法。 学习了,瞬间觉得Pattern强大了 public String replaceAll(String regex, String replacement) { return Pattern.compile(regex).matcher(this).replaceAll(replacement); } public boolean matches(String regex) { return Pattern.matches(regex, this); } public String[] split(String regex, int limit) { return Pattern.compile(regex).split(this, limit); } public String[] split(String regex) { return split(regex, 0); } * / java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher对象是一个状态机器

正则得介绍和使用——表单验证

女生的网名这么多〃 提交于 2019-11-29 13:58:33
1、正则的概念   (1)js这门语言一开始诞生得目的是什么?       就是为了做表单验证。在JS未出现以前,表单的信息验证需要传输给后台,让后台做数据验证处理之后,再返回给前端页面处理的结果。在带宽有限的情况下,整个验证过程非常复杂,且耗时。       在使用JS做验证的过程中,一个简单的验证规则的实现非常的麻烦。      如:从杂乱的字符串中找数字 var str = "asd68asd687as6da78sd123123zcacas" var linshi=''; var arr=[] for(var i = 0 ; i < str .length ; i ++){ if(str.charAt(i)>=0&&str.charAt(i)<=9){ linshi+=str.charAt(i) }else{ if(linshi!=''){ arr.push(linshi) } } } if(linshi!=''){ arr.push(linshi) } console.log(arr)       如果我们使用正则呢? var arr = str.match(/\d+/g);      是的使用正则和使用传统的js代码都可以实现这个功能,但是是不是太繁琐了。   (2)、什么是正则?      正则表达式(regular expression)是一个描述字符规则的对象

关于网页正则问题

雨燕双飞 提交于 2019-11-29 13:34:14
爬网页的时候出现[] 的补充吧 一般情况就是把两个位置的关键字全部都复制下来对比 先看这种比较难的: href=“http://product.dangdang.com/27911609.html” target="_blank">春日序曲(《请以你的名字呼唤我》第90届奥斯卡获奖影片原著作者全新 href=“http://product.dangdang.com/27916585.html” target="_blank">我们都曾受过伤,却有了更好的人生 由于里面的文字是我们要的爬的内容,所以先不看先弄成这样: href=“http://product.dangdang.com/27911609.html” target="_blank">(. ?) href=“http://product.dangdang.com/27916585.html” target="_blank">(. ?) 现在应该很明显了吧,就只是那串数字不一样 所以继续用正则啦。。。 href="http://product.dangdang.com/. .html" target="_blank">(. ?) 将数字变成 正则 .*就好了嘛 再看一个简单的: 没有找到例子就简单说明一下把,就是这样的: <里面是一些网页的关键字> 名字 <里面是一些网页的关键字> 只需要把里面的名字用正则替换就好了

在爬网页的时候出现这种问题:[],不能说有错,但是就是没有具体的东西就有点难受了

人盡茶涼 提交于 2019-11-29 13:18:41
[],爬的时候没有任何东西出来 一般先看你的网页有没有爬下来,将你网页的数据打印出来 data = urllib.request.urlopen("http://read.douban.com/ebooks/?dcm=normal-nav").read() print(data) 然后如果出现这种情况的话一般说明你的网页是爬下来了的 然后看到这里 出现这种情况时 就是你的正则出现问题了 由于我们有些童鞋,就包括我,都没有学网页,所以抓不到关键的标签,让我们的正则出现问题: pata = '<a href="/ebook/123016427/?icn=index-rec">(.*?)</a>' emmmm如果是这种情况的话,你就重新去找正则就好了,或者去菜鸟教程网上去看看网页的标签,关键字之类的 来源: https://blog.csdn.net/qq_43541507/article/details/100821999

正则

依然范特西╮ 提交于 2019-11-29 11:20:58
(1)RegExp.$n获取匹配规则的第n个子表达式 var reg=/\{\{(.+)\}\}/;--vue if(reg.test('{{name}}')){ console.log(RegExp.$1);//name } (2)replace:不改变原字符 var str='hello world'; var n=str.search('lo');// n是3 普通 var n1=str.search(/l/g);//n1是2 全局查找l 正则 //replace var str1=str.replace('world','cy');//str1是hello cy var str3=str.replace(/o/g,'q');//正则;g全局 hellq wqrld '{{正则}}'.replace(/\{\{(.+)\}\}/,function(a,b){ console.log(a,b);//{{正则}} 正则 参数1表示匹配成功的字符,参数2代表()里匹配到了: }); 'abcd'.replace(/a(b)(c)/,function (a,b,c) { console.log(a,b,c);//abc b c }); (3)单个字符 [a,b,c]中任意一个,如a,不能是ab; [^abc]不是abc任意一个; [a-zA-Z]字母中一个; [0-9]单个数字

mysql中的正则操作 匹配手机号,匹配中文,替换

对着背影说爱祢 提交于 2019-11-29 05:49:45
mysql中的正则操作 匹配手机号,匹配中文,替换 正则匹配hy_user表内tel字段的电话号码: SELECT * FROM hy_user WHERE tel REGEXP "[1][35678][0-9]{9}" SELECT tel FROM hy_user WHERE tel REGEXP "[1][35678][0-9]{9}" SELECT tel FROM hy_user WHERE tel REGEXP "^[1][35678][0-9]{9}$" SELECT tel FROM hy_user WHERE tel REGEXP "[1][35678][0-9]{9}$" 正则替换中文为空: UPDATE hy_user SET tel = REPLACE(tel, tel REGEXP '[^\x00-\xff]',''); 更新手机:为空 只留下手机号: UPDATE hy_user SET tel = REPLACE(tel,'手机 :',''); 更新联系人: 为空,只留下姓名 UPDATE hy_user SET name = REPLACE(name,'手机 :',''); ———————————————— 版权声明:本文为CSDN博主「vitaair」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接

PHP的正则匹配小结

落爺英雄遲暮 提交于 2019-11-29 03:35:43
PCRE模式是PHP的正则匹配规则。 需要由分隔符闭合包裹(分隔符可以是任意非字母数字,非反斜线,非空白字符)这意味着例如preg_macth("[\w{2,3}]",$subject)这种类型的正则匹配也是可以的。当然常见的还是/\w{2,3}/这种,当里面需要转义的反斜线太多的时候,可以考虑用其他类型的分隔符进行闭合包裹。 例如:/http:\/\// 可以写成 @http ://@ 这种 也可以匹配到http://开头的。分隔符结束后,可以增加模式修饰符(模式修饰符其实是匹配功能的增强比如设置了i就会对大小写不敏感 m是进行多行匹配 s点号不匹配换行符号) 基础正则使用小结:(最常用看到的匹配) \ 反斜线转义的时候使用,匹配反斜线需要\\ [abc] {2,5} 匹配abc中任何一个字母组成的2-5长度的字符串 {^123$}m 匹配123开头结尾的行 三个字符串的等价使用: * = {0,} + ={1,} ? ={0,1} 下面是preg_replace($pattern,$replace,$subject)的匹配进行例子讲解(实际中的正则匹配比语法复杂的多) 1.正则匹配的分组调用 <?php $string = 'April 15, 2003'; //对正则进行三重匹配 \w+的匹配\d+的匹配,\d+的匹配 $pattern = '/(\w+) (\d+), (