• [技术干货] 【转载】JavaScript基础之正则表达式
    【转载华为云社区】链接:https://bbs.huaweicloud.com/blogs/193085正则表达式的概念:官方:正则表达式(regular expression)是一个描述字符模式的对象。 ECMAScript 的 RegExp类表示正则表达式,而String和正则表达式都定义了进行强大的【模式匹配】和【文本检索】与【替换】的函数。本人理解:功能和字符串类似,但是比字符串强大,更像是服务字符串的,例如表单验证创建正则表达式:   1.通过new关键字声明  var  reg=new RegExp("hello","ig")【注】 第一个参数为正则表达式的主体,是字符串型,第二个参数为修饰符 i 和 g   i的作用是忽略大小写,g的作用是全局匹配,在书写的时候,它们两个前后顺序没有区别。   2.省略new关键字声明 var reg=new RegExp("hello","ig");  3.通过正则表达式的声明规则直接赋值   var reg=/hello/ig;正则表达式的方法:正则表达式对象只有两个方法    text方法: 正则表达式.text(字符串)  在字符串中匹配这个正则表达式是否存在如果匹配成功返回true,匹配失败返回false。    exec方法:正则表达式.exec(字符串) 在字符串中匹配这个正则表达式是否存在,匹配成功,返回一个装有字符串的数组,匹配失败返回null正则表达式的更多功能体现在元字符元字符的概念:在正则表达式中有特殊含义的字符【注】 .   匹配单个的任意字符; []匹配单个在范围内的字符;[^] 匹配单个不在范围内的字符。【注】x{n} 必须匹配n个x【注】只需要了解前两个,^ 行首匹配  必须以这个正则开头$ 行尾匹配    必须以这个正则结尾以上常见的元字符,我从别的地方获取的表格资源,但是最重要的还是练习!!下面让我们一起简单练习几个常见的吧! var str="google"; var reg=/google/; reg.text(str); //true  用 . 的 形式 var str="goggle"; var reg=/go.gle/; reg.text(str);//true     .对应的单个字符为任意  用[] 的形式 var str="go2gle"; var reg=/go[0-9]gle/; reg.text(str);//true   []对应的字符必须符合[]中的范围,否则为false 用x? 的形式 var str="gogle"; var str1="google";  var reg=/goo?gle/;  reg.text(str);//true  reg.text(str1);//true   0? 代表可以有0个O或者1个O, 用 x+ 的形式 var str="google"; var str1="googe";ar reg=/googl+e/;  reg.text(str);//true  reg.text(str1);//false    l+ 代表至少存在一个l用 ^ 的形式 var str="I am Li"; var str1="you are Li"; ar reg=/^you/; reg.text(str);//false  reg.text(str1)//true  字符串必须以you开头 精力有限,希望大家下去后,把所以元字符练习一遍,加深印象。前面说到正则表达式是方便字符串的,那么我们今天在这里也简单罗列一下字符串中用到正则表达式的方法在字符串中使用正则表达式的方法:   match()  :  字符串.match(正则表达式)  在字符串中匹配,是否有符合正则表达式,匹配成功,返回一个装有子串的数组,匹配失败,返回null  replace()  :   字符串.replace(oldStr,newStr)    用newStr将oldStr替换,返回替换成功的新字符串   【注】乍一看和正则没有关系,但是oldStr可以用正则表达式的形式。 split() :    字符串.split(分隔符)  用分隔符将原字符串进行分割,返回剩下的子串组成的数组。【注】分隔符一般为字符串,也可以为正则表达式。search():   字符串.search(子串)      找到复合条件的子串第一次出现的位置,如果找到,返回第一次出现子串的位置,并且为子串的首元素位置,否则返回-1。
  • [技术干货] 正则表达式
    正则表达式 - 语法正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。例如:runoo+b,可以匹配 runoob、runooob、runoooooob 等,+ 号代表前面的字符必须至少出现一次(1次或多次)。runoo*b,可以匹配 runob、runoob、runoooooob 等,* 号代表前面的字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。colou?r 可以匹配 color 或者 colour,? 问号代表前面的字符最多只可以出现一次(0次、或1次)。构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
  • [技术干货] 5 分钟搞定 Linux 正则表达式
  • [其他语言] 【华为云鲲鹏云服务最佳实践】【语言篇】第011期 Pcre-8.32 安装配置指南
    1、简介PCRE(Perl Compatible Regular Expressions中文含义:perl语言兼容正则表达式)是一个用C语言编写的正则表达式函数库,由菲利普.海泽(Philip Hazel)编写。PCRE是一个轻量级的函数库,比Boost之类的正则表达式库小得多。PCRE十分易用,同时功能也很强大,性能超过了POSIX正则表达式库和一些经典的正则表达式库。官方链接:http://www.pcre.org/类别:函数库2、基础环境类别子项版本获取地址(方法)华为云华为云虚拟机RC3(916)--OSCentOS7.5Kernel4.14软件包Pcre8.323、依赖安装无4、组件编译安装清除yumyum clean all下载服务器包到本地缓存yum makecache更新yum 包yum -y update    安装pcreyum -y install pcre5、系统配置无6、测试测试内容:查看pcre库是否安装成功rpm -ql pcre测试结果:安装成功 7、参考信息官方文档:http://www.pcre.org/current/doc/html/8、FAQ无
  • [技术干货] mongodb 查询命令及参数详解(1)
    本帖最后由 Nosql_newbee 于 2018-4-2 08:53 编辑 本文将详细介绍mongodb查询相关命令,参数,主要包括以下几个方面: 用find或者findone函数查询; $条件查询; 特定类型的查询。 首先**测试数据 db.user.insert([{"username":"test01","email":"test@01","age":10},{"username":"test02","email":"test@02","age":20},{"username":"test03","email":"test@03","age":30},{"username":"test04","email":"test@04","age":40}]) 使用find进行查询,返回一个集合中文档的子集,子集的范围从0个文档到整个集合; db.user.find(query, projection) 第一个参数是查询条件(可选),第二个参数是定义哪些信息需要返回(可选)。当参数为空时指查询集合中的所有文档: db.user.find() 查询简单的类型,只要指定想要查询的值就可以了,例如要查询collection 集合中username 为test的所有文档: db.user.find({"username":"test01"}) 有时并不需要将文档中的所有值返回,指定其中某些字段进行返回,例如要查询collection集合中用户的email: db.user.find({},{"email":1}) email的值为boolen类型,true为只返回该字段,fasle为返回除该字段的其他值,"_id"默认被返回,如果不想返回"_id" db.user.find({},{"_id":0}) 查询条件: "$lt","$lte","$gt","$gte"就是全部的比较操作符,分别对应.=,>,>=。例如查询age大于20的文档 db.user.find({"age":{"$gt":20}}), 支持多个条件与, db.user.find({"age":{"$gt":20,"$lt":40}}) 或查询: mongodb支持两种or查询方式:"$in"可以用来查询一个键的多个值,"$or"更通用些。 如果你个键需要与多个值进行匹配的话,就要用$in操作符,例如查找age为20,30,40的所有文档 db.user.find({"age":{"$in":[20,30,40]}}) $in 的匹配值中可以指定不同的类型,$nin 返回与数组中所有条件都不匹配的文档,例如,查找username为非test01的文档 db.user.find({"username":{"$nin":["test01"]}}) $in只能对单键尽心查询,要查询username为test01 或者age为30的文档,就需要用$or $or接受一个包含所有可能条件的数组作为参数,例如上面的例子可以写成: db.user.find({"$or":[{"username":"test01"},{"age":30}]}) $not $not是元条件句,即可以用在任何其他条件之上,用$not可以实现$nin的效果 db.user.find({"age":{$not:{$in:[20,30]}}}) 特定类型的查询: NULL: null类型有点奇怪,他确实可以与自身匹配,所以要是有个包含null的文档集合,通过查询语句可以查到。但是,null还会匹配不包含这个键的文档,例如查询没有address键值的文档 db.user.find({"adress":null}) 如果仅想匹配键值为null的文档,既要检查该键的值是否存在还要通过$exist条件判断该键值已存在 db.user.find({"address":{"$in":[null],"$exist":true}}) 这里对null的匹配并没有类似$eq的语句,使用$in效果一样的 正则表达式: 正则表达式可以灵活的匹配字符串,例如,要想查找username为test开头的文档 db.user.find({"username":/test/i}) MongDB使用Perl兼容的正则表达式(PCRE)库来匹配正则表达式,任何PCRE支持的正则表达式语法都能被mongoDB接受,建议在查询使用正则表达式前,先在JavaScript shell中检查下语法,确保结果是你想要的。
总条数:51 到第
上滑加载中