javascript 正则表达式 幽灵的礼物

simpleddp:易于使用的DDP客户端库 简单DDP :egg: 该库的目的是简化使用外部JS环境(例如Node.js,Cordova,Ionic,ReactNative等)通过DDP协议使用Meteor.js服务器的过程。 经过战斗考验 :castle: 在生产中并准备使用 :hammer: 。 如果你喜欢这个项目 :star: 总是很受欢迎。 重要的 SimpleDDP用ES6编写,并使用了诸如promises之类的现代功能。 尽管已与Babel进行了预编译,但您的js环境必须支持ES6功能。 因此,如果您打算使用SimpleDDP,请确保您的js环境支持ES6功能或自己包含polyfill(例如Babel Polyfill)。 项目使用 。 DDP(协议)。 安装 npm install simpleddp --save 外挂程式 添加自定义EJSON类型 :star: 例子 首先,您需要为节点应用程序实现WebSocket实现。 我们将为此使用isomorphi 立即下载

javascript 正则表达式

  好久都没有写博客了,主要是太懒了,尤其是在阳春三月,风和日丽的日子,太阳暖暖的照在身上,真想美美的睡上一觉。就导致了这篇博客拖到现在才开始动笔,javascript的正则这一块也不是什么新的东西,主要是以前本人一遇到写正则的需求就开始头大,头疼,网上剽窃,东拼西凑,反正就是各种不适应,所以我打算系统的把正则表达式看一遍,一来是自己有所提升,这一块知识点的查漏补缺,二来是给大家分享一下。好了,下面我们直接进入主题:

  正则是匹配字符串特定模式的一种表达式,官方是这样说的,但我的理解不外乎就是匹配字符窜嘛,举个例子大家就明白了。比如我们要验证邮箱,试想一下如果我们不用正则来匹配,直接用代码,循环,判断各种捣鼓来验证还真是一件非常麻烦的事情。如果用正则怎么来做了,这里为了照顾小白(当然我也是重小白走来的,所以小白很单纯,小白很善良,小白很伟大)我就写伪正则来描述:   所有0-9或者a-z或者A-Z的字符出现一次到多次 加上(就是前面出现了的所有0-9...的字符跟上) "."或者"_"出现0次或者1次,然后在跟上 "@"符号 跟上 xxx.xx这种格式。 不知道我这样来描述各位亲有没有明白一点,不明白也不要紧,这里我只是随便举个列子,提一下,在下文的某个位置我会专门一步一步分析几个非常复杂的正则表达让大家能够很快的明白正则的语义。

  上面举了一个邮箱地址的正则表达式,比如这一窜 /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/ ;要看懂坑爹的这一窜,还得从基础一步一步的来。首先给大家介绍javascript经常使用正则的对象和方法:

  RegExp  这个是正则对象, 比如匹配字符串"1234"中的"23"可以这样玩: (new RegExp("23")).test("1234"); //out true;

  当然正则对象还有一种写法: var reg = /23/; reg.test("1234")  //out true;

  RegExp.test(String) ;      //这个方法上面的用上了,匹配字符串是否为指定格式

  RegExp.exec(String);      //返回查询的值

    var str = "123 aa cat Cat caT";

    var reg = /cat/i;

    reg.exec(str); // out "cat" 如果有则返回,没有的话就返回null

  String.search(RegExp) ; // 返回索引位置,类似indexOf()

    var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
      var reCat = /cat/gi;
      alert(data.search(reCat));   //out "23"

  String.replace(RegExp, String); //  将字符串替换成另外一个字符窜,RegExp指定的格式,String要替换的字符串

    var str = "1234aa67aa89";
      var reg = /aa/gi;
      str.replace(reg, "") ; //out "12346789"

  String.split(RegExp) ;              // 将字符串拆分成数组

    var str = "1234aa67aa89";
      var reg = /aa/gi;
      str.split(reg) ; //out [1234, 67, 89]

  String.match(RegExp);          //将指定格式的字符串以数组的方式返回

    var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
      var reCat = /cat/gi;
        var arrMactches = data.match(reCat); // out ["Cat", "cat"]

  上面的的方法是在字符串过滤操作中经常用到的方法, 当然还有一些我没有全部列举出来,用到了在去差API也不迟,好了我们熟悉了操作正则的这些方法之后我们紧接着正则表达式了,所谓表达式意思就是用一些字符按照先后顺序组合在一起表示的一层含义,所以我们先要重正则表达式的元字符说起,其实元字符就相当于javascript语言的关键字,比如你定义变量不能这样干 var if = "xxxx"; 正则有一下一些元字符:{ [ ^ | $ ] } ? * + . 这些都是正则的元字符,这里我就不解释意思了,用到了时候再来分析。如果大家想知道可以找度娘

  字符类

  字符类是用于测试字符串的组合, 将一些字符放入方括号中,就可以有效的告诉正则表达式去匹配第一个,第二个,第三个...比如/[abc]/,这个又称之为简单类

    简单类:

1   var str = "cat 123 caT 234 cAt 345 CaT";
2   var reg = /cat/gi;
3   str.match(reg) ; //out ["cat", "caT", "cAt", "CaT"]

 

    负向类和范围类: 这里要解释下"^" "-"这两个符号, "^"这个符号的意思就是取反,而"-"是范围, g表示全局,i表示忽略大小写,/[^2-3a-z]+/gi 所以这句话的意思就是: 除了2到3和a到z的所有字符出现1次到多次,并且在全局中忽略大小写。其实细心的看官这里还会发现一个知识点, 2-3a-z这一句其实是一个组合,又称之为组合类,下面的这个实例就用到了正则的几个知识点: 1.负向类,意思就是取反; 2. 范围类; 3.组合类,相当于逻辑运算符的并且&&

1   var str = "cat123caT234cAt345CaT";
2   var reg = /[^2-3a-z]+/gi;
3   str.match(reg);  //out ["1", "4", "45"]

    预定义类:

复制代码
代码               等同于                    匹配
.                 [^\n\r]                  除了换行和回车符之外的任意字符
\d                [0-9]                    数字
\D                [^0-9]                   非数字字符
\s                [\t\n\x0b\f\r]           空白字符
\S                [^\t\n\x0b\f\r]          非空白字符
\w                [a-zA-Z_0-9]             单词字符,所有的字符数字下划线
\W                [^a-zA-Z_0-9]            非单词字符
复制代码

   量词:量词是可以指某个特定模式出现的次数,可以是硬性量词,比如某个字符出现三次,也可以是软性量词,比如某个字符至少出现一次。正则中的量词有以下这些

  贪婪量词:

  ?      出现零次到一次

  +       至少出现一次或者多次

  *        出现0次到多次

  {n}    出现n次

  {n,m}出现n次到m次

  {n,}   至少出现n次或者n+次

  说道量词的话有贪婪, 惰性和支配量词,以上的这些量词都是贪婪量词,由于javascript正则引擎对支配量词支持不是很好,所以我们这里重点来说贪婪和惰性量词,先把惰性量词列出来之后在来说说他们的关系和区别

  惰性量词:

  ??          出现零次到一次

  +?           至少出现一次或者多次

  *?            出现零次到多次

  {n}?          出现n次

  {n,m}?      出现n次到m次

  {n,}?         至少出现n次或者n+次

  贪婪量词在匹配字符串的时候首先看是否匹配字符串,如果没有找到匹配的则去掉字符串中最后一个字符再次尝试,整个过程一直重复,直到字符串为空时停止。而惰性量词正好相反,首先查看字符串中第一个字符是否匹配,否则在读入下一个字符在进行匹配,直至重复这个过程到读入整个字符窜都不匹配时停止。可能说了这些多还是不太明白,下面我会举个例子帮助大家理解

1         var str = "abbbaabbbaaabbb1234";
2         var re1 = /.*bbb/g;   //贪婪匹配
3         var re2 = /.*?bbb/g;  //惰性匹配
4         alert(str.match(re1));
5         alert(str.match(re2));

  亲,你觉得第一个alert会输出什么呢,如果是[abb, aabbb, aaabbb]的话的, 那么恭喜你答错了,前面说过*是贪婪量词,它在匹配的时候会首先匹配整个字符串,是从字符串的尾部操作的,当去掉字符1的时候就发现剩下的字符串"abbbaabbbaaabbb"已经达到它匹配的要求了,所以它返回的结果就是字符串"abbbaabbbaaabbb", 而第二个alert为啥子会打印[abbb,aabbb,aaabbb]呢,我们再来一步一步的看,这个是惰性匹配,所以它在匹配字符串的时候是从字符串开始的部分取出第一个字符进行匹配,发现不行,在取下一个,还是不行,直至取到了"abbb".好,现在发现匹配了,然后将这个装进数组, 在从剩下的字符串里面取,直至最后将符合指定模式的子字符串装进数组,所以最后就返回[abbb,aabbb,aaabbb]。只要稍微花点心思动动手还是很容易就理解了。好了,关于正则的量词的一些知识点就讲到这里,万里长征才走一半,下面接到说正则的复杂模式,上面说到的字符类那一块都是正则的简单模式,只能做一些简单的字母,数字,汉字,长度等效验,如果在掌握了下面的复杂模式就可以非常牛逼的匹配各种复杂,蛋痛的字符串模式了,比如邮箱,身份证验证,标签过滤,包括jquery类选择器,sizzle引擎过滤器。好了,直接切入主题吧:

复杂分组

  分组模式:分组模式就那么回事我用一个例子或许你一下子就豁然开朗了

复制代码
            //如果要匹配"andand"的怎么做呢,你也许会说可以这样干
            var str = "asdfandandcxhksdf";
            var reg = /andand/gi;
            alert(reg.test(str)); //output true
            //好的,亲,这样匹配也是可以的,但是有不知道多少and怎么办呢,
            //不可能全部加在正则表达式里面吧,此时分组的便捷性就体现出了
            //出了它的优势,我们可以这样干:
            var reg = /(and){2}/g; //注意这里()是元字符分组的意思,{2} 是量词,贪婪量词        
复制代码

  捕获分组模式:指的是RegExp.$1这个属性的值,这个值就是正则中一个分组的值,在这个对象RegExp中,定义了最多支持RegExp.$1-RegExp.$100个分组值,还是来个例子吧

  

1             var str = "asdffirstfirstsecondsecond1234";
2             var reg = /(first){2}(second){2}/gi;
3             reg.test(str); // 要必须匹配之后才有下面的值
4             alert(RegExp.$1); //output "first"
5             alert(RegExp.$2); //output "second"

  非捕获分组模式:上面说了捕获分组,那非捕获分组其实就是不让RegExp.$1引用了,这里要说一点的是在捕获分组中RegExp.$1会创建正则的反向引用的存储空间,所以在进行捕获分组时会有更多的空间开销,还会降低匹配速度。那现在晓得非捕获分组的好处了吧。简单的说就是在正则表达式()里面加上一个问号和冒号/(?:first)/,语法就是这样的,还是看代码吧

1             var str = "#123456789";
2             var reg = /#(?:\d+)/;
3             reg.test(str);
4             alert(RegExp.$1);      //output "" 注意这里取消了反向引用就为空了

  候选模式:候选我的理解就是或者,举个例子,比如你要对一个表达式同时匹配"red", "black"的话怎么做呢, 如果是在以前的话就要写两个正则来进行分别匹配,而加入了候选就可以非常方便的操作了,还是上代码吧

复制代码
            var str1 = "111red222";
            var str2 = "111black111";

            var reg = /(red|black)/;
            alert(reg.test(str2)); //output true
            alert(reg.test(str1)); //output true
复制代码

  前瞻模式:有时候我们希望某个字符分组出现在另外一个字符分组之前才去捕获,这相当于是在正则里面做判断了, 果然是高级功能,灰常强大,我在写正则的时候也没有用到过, 只是书上都说了, 我还是把它搬到这里来出哈风头。 上代码吧

复制代码
 1         /*
 2              *前瞻又分为正向前瞻和反向前瞻
 3              *下面我会用代码加注释的方式加以描述
 4              */
 5              //正向前瞻
 6              var str1 = "bedroom";
 7              var str2 = "bedding";
 8              var reg = /(bed(?=room))/; //符号?=来表示正向前瞻,表示在字符串"bedroom"中如果bed后面有room的字符才捕获,顺序执行
 9              alert(reg.test(str1)); //output true
10              alert(RegExp.$1);      //output "bed" 捕获到反向引用bed字符串
11              alert(reg.test(str2)); //output true
12              //反向前瞻
13              var reg = /(bed(?!ing))/; //符号?!来表示反向前瞻,表示在字符串"bedding"中如果有"ing"子字符串才捕获,逆序执行
14              alert(reg.test(str2)); //output true
15              alert(RegExp.$1);      //output "bed" 捕获到反向引用bed字符串
16              alert(reg.test(str1)); //output true
17              alert(RegExp.$1);
18              /*以上代码如果各位亲测试不通过的话那就是正则引擎不支持前瞻*/
复制代码

  边界模式:这个模式很重要也很常用,比如去掉字符串的首尾空格,那下面说说几种边界的可能:

  ^行的开始           $行的结尾             \b单词的边界               \B非单词的边界

复制代码
            //用一个例子来说明边界
            var str = "  xiaoming     "
            var reg = /(^\s+)|\s+$/g; //(^\s+)去除字符串开始位置的空格,\s+$去除字符串尾部空格,|这个符号想必不用我说了吧,候选
            var str = str.replace(reg, "");
            alert(str); //output "xiaoming"
复制代码

  多行模式:这个也是正则复杂模式里面最后一个模式了,也不经常用,不管你信不信,反正我是信了,还是直接来看代码吧

复制代码
1             //请看下面这个实例,\n在前面的预定类,表示换行
2             var str = "first\nsecond\nthread";
3             var reg = /^(\w+)/g;  
4             alert(str.match(reg)); //output 若不指定m行的话就输出"first"
5             var reg = /^(\w+)/gm;
6             alert(str.match(reg)); //output [first, second, thread]
复制代码

  到目前为止正则表达式的语法,规则各种都已经说完了,如果各位小白认真的看到这里,我们在来分析文章开头说的邮箱验证表达式就非常容易了。好,现在我们就来一步一步的分析那个非常蛋痛的表达式,首先我们要来拆分这段表达式,我会用不同的颜色来表示这段表达式的每一段,这里就用到了一种思想,分而治之,太复杂的东西不利于直观的表达某些东西,所以拆分,打碎,各个击破:

  /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/

  1.([a-zA-Z0-9]+[_|\_|\.]?)* 这一段表示的是一个分组,分组()里面首先是[a-zA-Z0-9]意思是匹配字符串大小写字母数字,后面紧跟一个+,这个是贪婪量词,1次到多次,前面提到过的。[a-zA-Z0-9]+而这一段的意思就是说大小写字母数字匹配1次到多次,[_|\_|\.]?而这个呢是符号"_"或者"."出现0次到一次。整个这段表达式的意思就是所有大小写字母数字出现1次到多次,紧接着符号"_"和"."出现0次到一次,在把这两个条件加起来成为一个组,这个组的格式又可以出现0次到多次。

  2.[a-zA-Z0-9]+ 这段就不用说了吧,上面也说了就是大小写字符数字出现1次到多次

  3.@([a-zA-Z0-9]+[_|\_|\.]?)* 这个理解起来就简单了,以字符@开头上面那个分组出现0次到多次的这个格式

  4.\.[a-zA-Z]{2,3}  这个表达式呢还是比较容易,也是以字符"."开头所有大小写字母出现两次或者三次

  5./^$/ 这两个符号是表示从字符串的开始匹配到行的结束。

  看到这里大家是不是对正则表达式的认识更深了一些呢, 如果还不行话在给大家分析一个实例吧 /^((0?[1-9])|((1|2)[0-9])|30|31)$/ 这个正则的意思是验证一个月的31天,正确格式是01、09和1、31。首先我们还是来拆分 /^((0?[1-9])|((1|2)[0-9])|30|31)$/

  1.首先这个表达式中出现了三个黑色的"|"候选符号,意思就是说可以匹配四种情况

  2.(0?[1-9]) 这个表达式是匹配 0出现0次或者一次紧接着跟上数字出现一次,这是一种情况,如:01, 09, 1, 9这些

  3.((1|2)[0-9]) 这个分组表示的是1或者2出现一次紧接着跟上0-9出现一个,又是一种情况,如:10,19,20,29

  4.30|31 这个就更简单了,30或者31只能出现一次。

OpenHarness代码解读 Harness 是包裹在大模型之外、为其赋予完整执行能力的全套基础设施。模型负责提供智能与推理,Harness 则为模型提供感知、行动、记忆、工具与安全约束,使其从语言模型变成可自主完成复杂任务的实用智能体。我这里把向量数据库方案定义为:把对话片段、事件、偏好、工具结果等切成 memory chunks,做 embedding,存进向量库,查询时靠 ANN 相似度召回,再交给 LLM 读。AAAI 的综述类论文就明确指出,很多 LLM agent 的长期记忆就是这么做的。AAAI 期刊把文件系统方案。 阅读详情

相关推荐

3GPP协议解读_物理层系列(一)_物理层协议怎么看?

5G NR相关协议一般都在38系列,点进去以后可以看到,38.2xx系列为物理层相关协议,为了掌握物理层相关知识,应该怎么看协议呢?我建议从38.201读起,对38.2xx系列协议有一个整体的把握。

JCMLSY的博客 1329

4-28

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意...

weixin_30788731的博客 458

海康威视工业相机网络配置实战:从MVS软件操作到IP地址规划

本文详细介绍了海康威视工业相机的网络配置实战,从MVS软件操作到IP地址规划。重点讲解了IP设置的重要性、Windows系统下的网络配置步骤、避免IP冲突的技巧,以及MVS软件中的相机IP配置方法。帮助用户快速掌握工业相机的网络连接技术,确保稳定高效的图像采集。

weixin_30296405的博客 486

正则匹配简介

/*正则表达式:1.其实就是一种匹配模式或者叫规则;  2.必须搭配正则函数才能发挥处理字符串的能力,单独没太大作用;  分四部分:  1.定界符:可以有很多种,除了数字字母和反斜线\以外都可以用作定界符, 如'/'、'#'、'{}'、'|'等,但常用的都是用'/';  2.原子:最少的匹配单位,每个正则中至少包含一个原子;  3.元字符:修饰原子用的,用于扩展和限定原子功能(个数或

living_ren的博客 2870

Linux SMP系统多核启动机制详解

对称多处理(SMP)是现代操作系统支持多核并行计算的基础架构。其核心原理是通过引导处理器(BSP)初始化系统环境后,通过处理器间中断(IPI)机制唤醒应用处理器(AP)。在x86架构中,AP启动时处于实模式,需要特殊的trampoline代码完成保护模式切换和分页设置。这种设计既保证了系统初始化的正确性,又实现了多核并行处理的性能优势。理解SMP启动流程对优化系统启动速度和调试多核问题至关重要,特别是在云计算和嵌入式系统中,高效的SMP初始化能显著提升系统响应能力。本文以Linux内核为例,深入解析了从BS

weixin_35006125的博客 290

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

PCB模块化设计24——DCDC电源模块PCB布局布线设计规范

qq_31444421的博客 2万+

浅言-正则匹配

所谓正则表达式,就是将字符串抽象化后表达出来的方法。 1、正则匹配 判断字符串是否符合正则的模式,查看是否匹配的过程被称为正则匹配。进行正则匹配的话需要用到match()函数。 import re #为了进行正则匹配,引入re模块 s = 'Learn python' a = re.match('Le',s) if a: print(a.group()) #group()方法从匹配对象中将匹配的字符串取出来 输出结果:Le 匹配对象为a,match()函数中第一参数中的模式如

weixin_52135112的博客 708

资金穿透分析

我们把准备好的银行数据导入到软件中,导入具体步骤这里不做详解,大家可以通过“清林情报分析师”公众号,查看操作视频第二节

清林情报分析师 3491

从电路仿真到PCB设计:硬件工程师必备的完整知识链路

硬件设计的关键不仅在于画板,更在于理解从电路原理到PCB落地的完整链路。电路仿真作为验证原理、预判边界和优化参数的核心手段,帮助工程师将“猜”转化为“算”。而PCB设计中的布局布线、去耦电容摆放与参考平面规划,直接决定信号质量。在高速与射频场景下,模拟、数字、控制电路的协同设计,以及信号完整性分析中的反射、串扰等问题,都会影响最终系统的稳定性。从基础概念到工程实践,掌握这些技术价值,能有效降低改板返工率。本文围绕电路设计、仿真与PCB设计展开,分享系统化的设计方法与实用经验,为硬件工程师提供一份可落地的知识

weixin_34221276的博客 415

【obj To 3DTiles 进阶实战】 从零配置地理坐标系与扩展属性元数据

本文详细解析了如何将OBJ模型转换为3DTiles格式,重点介绍了地理坐标系配置与属性元数据扩展的实战技巧。通过obj23dtiles工具,开发者可以精准定位模型经纬高坐标,并添加结构化属性表,实现城市规划模型在数字孪生平台的高效应用。

weixin_27215337的博客 367

用Multisim仿真一个9V供电的双工对讲机:从电桥原理到LM1875功放调试全记录

本文详细介绍了使用Multisim仿真9V供电的双工对讲机全过程,涵盖电桥原理、NE5532前置放大设计、LM1875功放调试及双工通信实现。通过实战案例解析,帮助读者掌握模拟电路设计与调试技巧,提升电子工程实践能力。

weixin_28678831的博客 115

正则表达式-匹配

正则表达式概念及匹配方式,正则表达式的匹配字符,正则表达式的标志位以及正则表达式的贪婪模式和非贪婪模式

denglh525693的博客 3574

【高级】系统架构师 | 2026年上半年案例分析真题

标准答案:系统因缺乏足够历史数据(用户行为、物品信息或评分等),难以做出准确推荐的问题。另外两种:物品冷启动(新课程 / 新知识点缺少互动数据)系统冷启动(平台上线初期整体数据稀缺)类型典型表现常见缓解用户冷启动新注册学员无历史问卷/前测、热门兜底、人口统计学特征、知识图谱前置测评物品冷启动新课无人学无人评内容特征推荐、专家标注、探索流量系统冷启动新平台双边都稀缺规则引擎、运营冷启、知识图谱强约束路径本题已点明「用户冷启动」,另外两种按推荐系统经典三分法作答即可。

大胆尝试,小心实践 358

51 万行源码泄露,Claude Code 惨遭“开源”!(附源码)

最后,这起事件标志着闭源 AI Agent 的“去神秘化”。大家发现,强大的 AI 工具并非魔法,而是由系统提示词、海量工具编排、甚至硬编码的规则堆砌而成的复杂软件工程。Anthropic 用一种最戏剧性的方式,把自己底层的“操作台”摊在了全世界面前。对于全球开发者而言,这是一次价值千金的顶级 Agent 架构公开课;各种 Claude Code 的魔改版本会雨后春笋般冒出来。其他 AI 编程工具,也会从中学到很多有用的东西,近期将会频繁更新。

twelveai的博客 1134

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

当你点开这首《八月》的歌:9400余条评论的分析与挖掘

因缘际会八月伊始的当口,念想着:新的一个月了,是否有关于八月的歌呢,闲时也蛮想找来听下的。说来也怪,哪个月都不曾有过此念头,这回却“突发奇想”且又念念不忘,于是打开网易云音乐,傻瓜般地搜索“八月”,倒也真有不少同名歌曲,其中第一首就是八尾旅人的日文歌曲《八月》,点开听了下,还无暇看歌词描写的是什么,就看到了评论数高达9千余条,而且有8月1号当天许多“同道中人”的留言,看来在这新的一个月的当日,有此...

weixin_33739541的博客 208

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

一文搞懂正则表达式

正则表达式(Regular Expression,简称 RegExp)是一种专门用于描述字符串中字符匹配规则的模式语法。💡通俗理解程序无法像人类一样理解“手机号”“邮箱”“中文名”等语义,但我们可以用正则表达式把“人类的语言规则”翻译成程序能识别的“字符规则”,从而让程序自动校验、提取或替换文本。✅典型应用场景表单验证(手机号、邮箱、密码强度)敏感词过滤日志分析数据清洗与格式化📌记住只要涉及“字符串格式是否合法”的判断,正则表达式就是首选工具!符号含义等价写法\d数字[0-9]

桃之夭夭的博客 1570

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

正则匹配

正则表达式 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。 常见的正则匹配字符 “ ^ ” :匹配输入字符串开始的位置。 “ . ” :匹配任意字符,除了换行符。要匹配 . ,请使用\. “ […]”:匹配括号中的任一个,例如[amk]匹配’a’,‘m’...

qq_44813849的博客 2048

正则表达式

正则表达式 正则表达式也叫作匹配模式,是由一组具有特殊含义的字符组成,通常是用来匹配和替换字符串,它是一门独立技术。 正则模块 import re import re dir(re) [‘A’, ‘ASCII’, ‘DEBUG’, ‘DOTALL’, ‘I’, ‘IGNORECASE’, ‘L’, ‘LOCALE’, ‘M’, ‘MULTIL INE’, ‘Match’, ‘Pattern’, ‘RegexFlag’, ‘S’, ‘Scanner’, ‘T’, ‘TEMPLATE’, ‘U’, ‘UN I

undefineing的博客 1653

正则匹配之正则匹配全部汇总:

实用的正则匹配大全,有需要可以进来看看哈

Remix_xy的博客 3万+

正则表达式 问号 冒号 ?:使用

正则表达式 问号 冒号 ?:使用 (?: pattern)是非捕获型括号 匹配pattern,但不捕获匹配结果。 (pattern )是捕获型括号。 匹配pattern,匹配pattern并捕获结果,自动获取组号 (? pattern ) 匹配pattern, 匹配pattern并捕获结果,设置name为组名 使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。默认情况下,每个捕获组会自动拥有一个组号,规则是:从左向右,以分组的左括号

weixin_46169589的博客 1911

正则匹配详解

1. 元字符 字符 描述 应用 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符 ‘n’ 匹配字符 “n”。’\n’ 匹配一个换行符。序列 ‘\’ 匹配 “” 而 “(” 则匹配 “(”。 . 匹配除换行符之外的任何单字符 ^ 匹配输入字符串的开始 例如 ^a ,表示 字符串必须以a开头,才会继续匹配,如果不是以a开始,则返回空 $ 表示匹配字符串的结尾 例如 a$ ,表示 字符串必须以a结尾,如果不是以a结尾,则返回空 \b 匹配一

qq_43283527的博客 2万+

正则匹配意义

(exp) 匹配exp,并捕获文本到自动命名的组里 (?exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name’exp) (?:exp) 匹配exp,不捕获匹配的文本 位置指定 (?=exp) 匹配exp前面的位置 (?<=exp) 匹配exp后面的位置 (?!exp) 匹配后面跟的不是exp的位置 (?<!exp) 匹配前面不是exp的位置 \d代表数字0-9 ...

weixin_41463944的博客 226

记一次面试题,正则表达式(?=a)是什么意思?

前言 不久前出去面试了一下,被问到了一个问题: 正则表达式 (?=a) 表示什么意思? 嗯,我花了几秒钟从脑子中检索答案,然后发现对于正则表达式方面的知识有许多地方记不清了! so,我的回答是: 我只知道 ? 号是最少匹配前面一次的意思,加个 = 号就不太清楚了,是最少匹配一次 = 号后面的值的吗? 面了三轮后,告知我待定! 对于面试,我也算是身经百战了,待定的意思我明白,意思就是工作的内容能...

weixin_33979745的博客 2139

正则里的(.*?)是什么意思

. 是任意字符 可以匹配任何单个字符, 例子:正则表达式r.t 可以匹配这些字符串:rat、rut、r t,但是不匹配root。 .*? 表示匹配任意字符到下一个符合条件的字符 例子:正则表达式a.*?xxx 可以匹配 abxxx axxxxx abbbbbxxx 扩展资料: * 匹配0或多个正好在它之前的那个字符。例如正则表达式。*意味着能够匹配任意数量的任何字符。 ? 匹配0或1...

极客神殿 2万+

正则匹配的/u,/i,/s的含义

/u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字) /i 表示不区分大小写(如果表达式里面有 a, 那么 A 也是匹配对象) /s 表示将字符串视为单行来匹配

长江某菜鸟的博客 2万+

正则表达式中的"\."表示什么意思

\ 这是引用符,用来将这里列出的这些元字符当作普通的字符来进行匹配。例如正则表达式\$被用来匹配美元符号,而不是行尾,类似的,正则表达式\.用来匹配点字符,而不是任何字符的通配符。 ...

kyle1314608的博客 1万+
上一篇: 包管理器Bower使用手册之一
下一篇: 禁止火狐浏览器缓存input标签
DDPJS
博客等级 码龄17年 0粉丝 0原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值