目录

17.1 初始配置

17.2 简单匹配

17.3 匹配起始位置

17.4 匹配多个字符

17.5 匹配数字

17.6 重复

17.7 转义

17.8 正则工具

17.9 术语表


“代码胜于雄辩。”

——林纳斯·托瓦兹(Linus Torvalds)

许多编程语言和操作系统都支持正则表达式(regular expression):定义搜索模式的一组字符串。正则表达式可用于检索文件或其他数据中是否存在指定的复杂模式。例如,可使用正则表达式匹配文件中所有的数字。本章将学习如何定义正则表达式,将其传入类UNIX操作系统以用来检索文件的grep命令。该命令会返回文件中与指定模式匹配的文本。我们还将学习在Python中使用正则表达式检索字符串。

17.1 初始配置

开始之前,先创建一个名为zen.txt的文件。在命令行中(确保位于zen.txt所在的目录)输入命令python3 -c "import this",这会打印出蒂姆·皮特斯(Tim Peters)写的诗The Zen of Python(Python之禅):

Python之禅

 

优美胜于丑陋

明了胜于晦涩

简洁胜于复杂

复杂胜于凌乱

扁平胜于嵌套

间隔胜于紧凑

可读性很重要

即便假借特例的实用性之名,也不可违背这些规则

不要包容所有错误,除非你确定需要这样做

当存在多种可能,不要尝试去猜测

而是尽量找一种,最好是唯一一种明显的解决方案

虽然这并不容易,因为你不是Python之父

做也许好过不做,但不假思索就动手还不如不做

如果你无法向人描述你的方案,那肯定不是一个好方案

命名空间是一种绝妙的理念,我们应当多加利用

旗标-c告诉Python传入的字符串中包含有Python代码。然后Python会执行传入的代码。Python执行import this之后,将打印The Zen of Python(像上述这首诗一样隐藏在代码中的信息,也被称为彩蛋)。在Bash中输入exit()函数退出Python,然后将诗的内容复制到文件zen.txt中。

在Ubuntu系统中,grep命令默认在输出时以红色字体打印匹配的文本,但是在UNIX系统中则不是这么做的。如果使用的是Mac,可以通过在Bash中修改如下环境变量来改变该行为:

# http://tinyurl.com/z9prphe$ export GREP_OPTIONS='--color=always'
$ export GREP_OPTIONS='--color=always'

要记住,在Bash中直接设置环境变量的方式是不持久的,如果退出Bash,下次再打开时必须重新设置环境变量。因此,可将环境变量添加至.profile文件,使其持久存在。

17.2 简单匹配

grep命令接受两个参数:一个正则表达式和检索正则表达式中定义模式的文件路径。使用正则表达式进行最简单的模式匹配,就是简单匹配,即一个字符串匹配单词中相同的字符串。举个例子,在zen.txt文件所在的目录输入如下命令:

# http://tinyurl.com/jgh3x4c$ grep Beautiful zen.txt>> Beautiful is better than ugly.

上例中执行的命令里,第一个参数Beautiful是一个正则表达式,第二个参数zen.txt是检索正则表达式的文件。Bash打印了Beautiful is better than ugly.这句话,其中Beautiful为红色,因为它是正则表达式匹配上的单词。

如果将上例中的正则表达式从Beautiful修改为beautifulgrep将无法匹配成功:

# http://tinyurl.com/j2z6t2r$ grep beautiful zen.txt

当然,可以加上旗标-i来忽略大小写:

# http://tinyurl.com/zchmrdq$ grep -i beautiful zen.txt>> Beautiful is better than ugly.

grep命令默认打印匹配文本所在的整行内容。可以添加旗标-o,确保只打印与传入的模式参数相匹配的文本:

# http://tinyurl.com/zfcdnmx$ grep -o Beautiful zen.txt>> Beautiful

也可通过内置模块re在Python中使用正则表达式。re模块提供了一个叫findall的方法,将正则表达式和目标文本作为参数传入,该方法将以列表形式返回文本中与正则表达式匹配的所有元素:

01  # http://tinyurl.com/z9q2286
02  
03  
04  <strong>import</strong> re
05  
06  
07  l = "Beautiful is better than ugly."
08  
09  
10  matches = re.findall("Beautiful", l)
11  
12  
13  print(matches)>> ['Beautiful']

本例中findall方法只找到了一处匹配,返回了一个包含匹配结果[Beautiful]的列表。

re.IGNORECASE作为第3个参数传入findall,可以让其忽略大小写:

01  # http://tinyurl.com/jzeonne
02  
03  
04  <strong>import</strong> re
05  
06  
07  l = "Beautiful is better than ugly."
08  
09  
10  matches = re.findall("beautiful", 
11                        l, 
12                        re.IGNORECASE)
13  
14  
15  print(matches)>> ['Beautiful']

17.3 匹配起始位置

我们还可以在正则表达式中加入特殊字符来匹配复杂模式,特殊字符并不匹配单个字符,而是定义一条规则。例如,可使用补字符号 ^ 创建一个正则表达式,表示只有模式位于行的起始位置时才匹配成功:

# http://tinyurl.com/gleyzan$ grep ^If zen.txt>> If the implementation is hard to explain, it is a bad idea.
>> If the implementation is easy to explain, it may be a good idea.

类似地,还可使用美元符号$来匹配结尾指定模式的文本行:

# http://tinyurl.com/zkvpc2r$ grep idea.$ zen.txt>> If the implementation is hard to explain, it is a bad idea.
>> If the implementation is easy to explain, it may be a good idea.

本例中,grep忽略了Namespaces are one honking great idea -- let us do more of those!这行,因为它虽然包含了单词idea,但并不是以其结尾。

下例是在Python中使用补字符 ^ 的示例(必须传入re.MULITILINE作为findall的第3个参数,才能在多行文本中找到所有匹配的内容):

01  # http://tinyurl.com/zntqzc9
02  
03  
04  <strong>import</strong> re
05  
06  
07  zen = """Although never is
08  often better than
09  *right* now.
10  If the implementation
11  is hard to explain,
12  it's a bad idea.
13  If the implementation
14  is easy to explain,
15  it may be a good
16  idea. Namesapces
17  are one honking
18  great idea -- let's
19  do more of those!
20  """
21  
22  
23  m = re.findall("^If",
24                 zen,
25                 re.MULITILINE)
26  print(m)>> ['If', 'If']

17.4 匹配多个字符

将正则表达式的多个字符放在方括号中,即可定义一个匹配多个字符的模式。如果在正则表达式中加入[abc],则可匹配abc。在下一个示例中,我们不再是直接匹配zen.txt中的文本,而是将字符串以管道形式传给grep进行匹配。示例如下:

# http://tinyurl.com/jf9qzuz$ echo Two too. <strong>|</strong> grep -i t[ow]o>> Two too

echo命令的输出被作为输入传给grep,因此不用再为grep指定文件参数。上述命令将twotoo都打印出来,是因为正则表达式均匹配成功:第一个字符为t,中间为ow,最后是o

Python实现如下:

01  # http://tinyurl.com/hg9sw3u
02  
03  
04  <strong>import</strong> re
05  
06  
07  string = "Two too."
08  
09  
10  m = re.findall("t[ow]o",
11                 string,
12                 re.IGNORECASE)
13  print(m)>> ['Two', 'too']

17.5 匹配数字

可使用[[:digit:]]匹配字符串中的数字:

# http://tinyurl.com/gm8o6gb$ echo 123 hi 34 hello. <strong>|</strong> grep [[:digit:]]>> 123 hi 34 hello.

在Python 中使用\d匹配数字:

1  # http://tinyurl.com/z3hr4q8
2  
3  
04  <strong>import</strong> re
05  
06  
07  line = "123?34 hello?"
08  
09  
10  m = re.findall("\d",
11                 line,
12                 re.IGNORECASE)
13  
14  
15  print(m)>> ['1', '2', '3', '3', '4']

17.6 重复

星号符*可让正则表达式支持匹配重复字符。加上星号符之后,星号前面的元素可匹配零或多次。例如,可使用星号匹配后面接任意个otw

# http://tinyurl.com/j8vbwq8$ echo two twoo not too. <strong>|</strong> grep -o two*>> two
>> twoo

在正则表达式中,句号可匹配任意字符。如果在句号后加一个星号,这将让正则表达式匹配任意字符零或多次。也可使用句号加星号,来匹配两个字符之间的所有内容:

# http://tinyurl.com/h5x6cal$ echo __hello__there <strong>|</strong> grep -o __.*__>> __hello__

正则表达式__.*__可匹配两个下划线之间(包括下划线)的所有内容。星号是贪婪匹配(greedy),意味着会尽可能多地匹配文本。例如,如果在双下划线之间加上更多的单词,上例中的正则表达式也会匹配从第一个下划线到最后一个下划线之间的所有内容:

# http://tinyurl.com/j9v9t24$ echo __hi__bye__hi__there <strong>|</strong> grep -o __.*__>> __hi__bye__hi__

如果不想一直贪婪匹配,可以在星号后面加个问号,使得正则表达式变成非贪婪模式(non-greedy)。一个非贪婪的正则表达式会尽可能少地进行匹配。在本例中,将会在碰到第一个双下线后就结束匹配,而不是匹配第一个和最后一个下划线之间的所有内容。grep并不支持非贪婪匹配,但是在Python中可以实现:

01  # http://tinyurl.com/j399sq9
02  
03  
04  <strong>import</strong> re
05  
06  
07  t = "__one__ __two__ __three__"
08  
09  
10  found = re.findall("__.*?__", t)
11  
12  
13  <strong>for</strong> match <strong>in</strong> found:
14      print(match)>> __one__
>> __two__
>> __three__

我们可通过Python中的非贪婪匹配,来实现游戏Mad Libs(本游戏中会给出一段文本,其中有多个单词丢失,需要玩家来补全):

01  # http://tinyurl.com/ze6oyua
02  
03  <strong>import</strong> re
04  
05  
06  text = """Giraffes have aroused
07   the curiosity of __PLURAL_NOUN__
08   since earliest times. The
09   giraffe is the tallest of all
10   living __PLURAL_NOUN__, but
11   scientists are unable to
12   explain how it got its long
13   __PART_OF_THE_BODY__. The
14   giraffe's tremendous height,
15   which might reach __NUMBER__
16   __PLURAL_NOUN__, comes from
17   it legs and __BODYPART__.
18  """
19  
20  
21  <strong>def</strong> mad_libs(mls):
22      """
23      :param mls:字符串
24      双下划线部分的内容要由玩家来补充。
25      双下划线不能出现在提示语中,如不能
26      出现 __hint_hint__,只能是 __hint__。
27  
28  
29  
30  
31      """
32      hints = re.findall("__.*?__",
33                         mls)
34      <strong>if</strong> hints <strong>is</strong> <strong>not</strong> None:
35          <strong>for</strong> word <strong>in</strong> hints:
36              q = "Enter a {}".format(word)
37              new = input(q)
38              mls = mls.replace(word, new, 1)
39          <strong>print</strong>("\n")
40          mls = mls.replace("\n", "")
41          print(mls)
42      <strong>else</strong>:
43          <strong>print</strong>("invalid mls")
44  
45  
46  mad_libs(text)>> enter a __PLURAL_NOUN__

本例中,我们使用re.findall匹配变量text中所有被双下划线包围的内容(每个均为玩家需要输入答案进行替代的内容),以列表形式返回。然后,对列表中的元素进行循环,通过每个提示来要求玩家提供一个新的单词。之后,创建一个新的字符串,将提示替换为玩家输入的词。循环结束后,打印替换完成后的新字符串。

17.7 转义

我们可以在正则表达式中对字符进行转义(忽略字符的意义,直接进行匹配)。在正则表达式中的字符前加上一个反斜杠\即可进行转义:

# http://tinyurl.com/zkbumfj$ echo I love $ <strong>|</strong> grep \\$>> I love $

通常情况下,美元符号的意思是出现在匹配文本行尾时才有效,但是由于我们进行了转义,这个正则表达式只是匹配目标文本中的美元符号。

Python实现如下:

01  # http://tinyurl.com/zy7pr41
02  
03  
04  <strong>import</strong> re
05  
06  
07  line = "I love $"
08  
09  
10  m = re.findall("\\$",
11                 line,
12                 re.IGNORECASE)
13  
14  
15  print(m)>> ['$']

17.8 正则工具

找到匹配模式的正则表达式是一件很困难的事。可前往http://theselftaughtprogrammer. io/regex了解有助于创建正则表达式的工具。

17.9 术语表

正则表达式:定义检索模式的字符串序列。

菜单:代码中隐藏的信息。

贪婪匹配:尽量多地匹配文本的正则表达式。

非贪婪匹配:尽可能少地进行文本匹配的正则表达式。

本文摘自《Python编程无师自通——专业程序员的养成》

适用于初学者学习的Python正则表达式

 

本书作者是一名自学成才的程序员,经过一年的自学,掌握了编程技能并在eBay找到了一份软件工程师的工作。本书是作者结合个人经验写作而成,旨在帮助读者从外行成长为一名专业的Python程序员。

本书包括5部分内容:第一部分(第1~11章)介绍了编程基础知识,以及函数、容器、字符串、循环和模型等概念;第二部分(第12~15章)介绍了编程范式和面向对象编程等知识;第三部分(第16~20章)介绍了Bash、正则表达式、包管理器和版本控制等编程工具方面的知识;第四部分(第21~22章)主要涉及数据结构和算法方面的知识;第五部分(第23~27章)则是关于求职与团队协作的内容。

本书可以满足几乎所有想要学习编程的初学者。本书适合高中、大学阶段想要自学编程的学生,以及其他行业想入门编程的人,同时也适合作为编程入门的培训教材。

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 怎么实现将word中的公式导入(或粘贴)到编辑中fckeditor

    1.4.2之后官方并没有做功能的改动,1.4.2在word复制这块没有bug,其他版本会出现手动无法转存的情况本文使用的后台是Java。前端为Jsp(前端都一样,后台如果语言不通得自己做 Base64编码解码)因为公司业务需要支持IE8 ,网上其实有很多富文本框,效果都很好。例如www.wangEdi…...

    2024/4/26 4:45:19
  2. WiFi漏洞可致数据泄露

    Wifi作为连接智能设备和互联网的桥梁,如果我们的无线路由器遭到了黑客的攻击,不仅自己的个人隐私和个人财产将受到损害,甚至生活都会被骚扰。根据相关报告显示,大约有75%的无线路由器的固件存在漏洞,而且很容易被会被黑客进行利用。根据美国加州大学河滨分校的研究者指出,…...

    2024/5/1 13:51:16
  3. C语言基础学习笔记:《C语言从入门到项目实战》

    C语言入门基础学习C语言概述:(7.6)例1-4 计算两个双精度浮点数的乘法运算例1-8 动画效果的HelloWorld程序例1-9 动画效果的HelloWorld程序2课后练习数据存储与运算:(7.7)例2-5 5种有符号整数类型所占字节数及数据范围例2-7 数据溢出示例例2-8 浮点类型定义,初始化及输出…...

    2024/4/30 3:24:48
  4. es常用查询函数

    查询的时候注意必填这几个 "indexes": ["search4{app}_current_reader"], //必填, 搜索实例,如:["search4policy_current_reader"] "types": [{app}], //必填…...

    2024/4/28 4:57:36
  5. nullptr和NULL

    nullptr是c++11中的关键字,表示空指针要区分nullptr和NULL,首先要明白NULL的含义:NULL是一个宏定义,在c和c++中的定义不同,c中NULL为(void*)0,而c++中NULL为整数0//C语言中NULL定义 #define NULL (void*)0 //c语言中NULL为void类型的指针,但允许将NULL定…...

    2024/5/1 5:53:49
  6. 数据库

    创建数据库表 create table if not exists demo1( `id` int not null auto_increment, `name` varchar(20) not null default 匿名 comment 名字, `sex` varchar(2) not null default 女 comment 性别, `time` datetime default null comment 时间, primary key(`id`))engine=i…...

    2024/4/27 15:47:42
  7. Spring Cloud Gateway初体验

    SpringCloud视频教程:https://ke.qq.com/course/2805647?tuin=a3e3fb1&from_uin=171851697&from=1000201007个人博客纯净版http://www.51ufo.cn/%E5%BE%AE%E6%9C%8D%E5%8A%A1/%E5%88%86%E5%B8%83%E5%BC%8F/2020/07/11/SpringCloud%E5%85%A5%E9%97%A815-Spring-Cloud-…...

    2024/4/28 4:59:32
  8. gradle 下载的地址

    今天小G想下载一个gradle,然后找半天发现可以使用这个地址进行下载,特此标注下,以免后续使用 https://services.gradle.org/distributions/...

    2024/4/27 21:30:22
  9. 多页签excel转pdf

    安装软件 LibreOffice 1.下载地址:https://zh-cn.libreoffice.org/download/libreoffice 下载后安装 2.开始转换 文件---》打开文件 打开exel后右侧的样式里面有页面样式 ,有每一个页签(sheet)的样式,右键,修改 ,找到工作表下面的“缩放”,选择?"为打印内容的宽…...

    2024/4/28 17:41:02
  10. 投资银行业务法规汇编----仅供学习

    投资银行业务法规汇编 一、基本法规二、股票发行审核(一)首次发行 (二)股权再融资 (三)创业板 (四)科创板 (五)存托凭证 (六)优先股 (七)其他 三、债券发行审核(一)公司债 (二)可转换公司债券 (三)企业债 (四)中小企业私募债 (五)可交换公司债券 (六)…...

    2024/4/28 2:01:53
  11. 投资银行业务法规汇编----仅供学习

    投资银行业务法规汇编 一、基本法规二、股票发行审核(一)首次发行 (二)股权再融资 (三)创业板 (四)科创板 (五)存托凭证 (六)优先股 (七)其他 三、债券发行审核(一)公司债 (二)可转换公司债券 (三)企业债 (四)中小企业私募债 (五)可交换公司债券 (六)…...

    2024/4/28 3:20:12
  12. 快速迁移数据中心:华为云数据库SQL Server实践案例技术解析

    1. 简介企业或用户将数据中心部署在线下,采用独立软件提供商(Independent Software Vendor)软件进行管理。线下数据运维成本较高,故障容灾单一化,是目前遇到的瓶颈。采用云上数据库并平滑兼容线下ISV软件管理可以降低企业上云难度,加速企业上云,本文以金蝶K/3 WISE 为…...

    2024/4/28 12:42:52
  13. 老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩、击穿、穿透

    前文回顾 建议前一篇文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 过期策略 Redis 的过期策略都有哪些? 在聊这个问题之前,一定要明确的一件事情是,如非必要,任何进入缓存的数据都应该设置过期时间,因为内存…...

    2024/4/29 2:25:24
  14. ubuntu安装docker

    1使用这套脚本安装: curl -fsSL get.docker.com -o get-docker.shsudo sh get-docker.sh --mirror AzureChinaCloud2启动Docker CEsudo service docker start3测试 Docker 是否安装正确sudo service docker start4.配置Docker镜像加速器 4.1 在 /etc/docker/daemon.json 中写入…...

    2024/4/28 6:26:27
  15. 路由器端口映射失败排查方法

    许多用户设置了端口映射,但是端口映射不成功怎么办?端口映射失败最直观的判断方法就是外网电脑无法访问映射后的服务器或者主机。本文就将介绍路由器端口映射失败的排查方法,以及解决方法。失败排查排查方法一:检查访问方式可能原因:访问服务器的方式,或是访问服务器时输…...

    2024/4/28 1:12:03
  16. ArrayList类

    ArrayList - 类 用来存储数据, 可变长数组 -> 集合 所属软件包: java.util 数组长度不可变, 数组如果要扩容, 需要用到数组的复制 为了解决数组长度不可变的问题, 可以实现数组长度动态变化 int[] Student[] int[][] Room[][] ArrayList 仅支持引用类型 1.构造方法 空参构…...

    2024/4/29 2:08:13
  17. 一篇文章带你解读从初级运维工程师到资深运维专家的学习路线

    作者:JackTian 微信公众号:杰哥的IT之旅(ID:Jake_Internet)目录一、初级运维工程师1、网络技术与应用2、Linux 基础三、高级运维工程师四、资深方向总结一、初级运维工程师互联网时代,人人都离不开网络。作为一名程序员来说,最起码不需要你过多的对网络有深入的研究,对…...

    2024/4/29 0:28:36
  18. 详细解析phpstudy2016安装教程(图文)

    最新phpstudy2016安装教程及流程,帮助站长快速搭建网站服务器平台!phpstudy软件简介该程序包集成最新的Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。该程序绿色小巧简易迷你仅有…...

    2024/4/27 19:04:30
  19. 虚拟机的安装以及CentOS7安装

    虚拟机的安装在windows系统中安装虚拟机软件,在虚拟机软件中模拟多个操作系统虚拟机软件VMware Vmware 收费VirtualBox Oracle 免费,对主板要求高,虚拟化技术需要主板支持1、VM虚拟机安装教程1.1、虚拟机下载1.进入VMware官网,点击左侧导航栏中的下载,再点击图中标记的Wor…...

    2024/5/1 3:57:17
  20. Android手工打造脑图控件

    背景所有的开发背景都是项目需要。先上屌炸天的设计图。效果导出效果不清晰,尽量看吧。功能 脑图展示样式订制(文字颜色、图标、样式、边框..)折叠方式支持两种:a、同侧折叠不影响其他。b、同侧展开其他项折叠整体拖动待扩展... 前期思考作为一个油腻的安卓程序猿,当看到效…...

    2024/5/2 5:18:02

最新文章

  1. Sliding Windows

    209&#xff0c;3&#xff0c;904&#xff0c;76&#xff0c;438&#xff0c;560&#xff0c;239 套路&#xff1a; 初始化左指针&#xff0c;初始化右指针&#xff0c;初始化窗口&#xff0c;初始化结果 右指针遍历扩大窗口 进行窗口判断 左指针遍历缩小窗口 最大值在扩…...

    2024/5/3 4:20:58
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. PHP:获取时间戳,时间,以及相关转换

    一、获取当前时间戳 // 获取当前时间的时间戳&#xff08;秒级&#xff0c;11位&#xff09; $currentTimestampInSeconds time(); 二、秒级&#xff08;11位&#xff09;时间戳转换为毫秒级&#xff08;13位&#xff09;时间戳 乘以1000即可 // 转换为毫秒时间戳&#xf…...

    2024/4/30 8:55:47
  4. CSS3 高级- 复杂选择器、内容生成、变形(transform)、过渡(transition)、动画(animation)

    文章目录 一、复杂选择器兄弟选择器:选择平级元素的唯一办法属性选择器:1、通用:基本用不着,太泛了2、自定义:4种伪类选择器:1、目标伪类:2、结构伪类:3、元素状态伪类:4、伪元素选择器:应用于文字,使网页看起来想杂志5、否定伪类:选择器:not([本选择器的条件]) /*…...

    2024/5/1 13:11:32
  5. 在 Visual Studio Code (VSCode) 中隐藏以 . 开头的文件

    打开VSCode。 按下Ctrl ,快捷键打开设置。您也可以点击屏幕左下角的齿轮图标&#xff0c;然后选择“Settings”。 在设置搜索框中&#xff0c;键入files.exclude。 在找到的Files: Exclude项中&#xff0c;点击Add Pattern按钮来添加一个新的模式&#xff0c;或者直接在搜索…...

    2024/5/2 2:37:00
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/2 11:19:01
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/2 16:04:58
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/2 23:55:17
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/2 9:47:31
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/2 9:47:31
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/2 6:03:07
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/2 9:47:30
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/2 23:47:43
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/2 5:31:39
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/3 1:55:15
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/2 9:47:28
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/2 9:47:27
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/3 1:55:09
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/2 8:37:00
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/2 9:47:26
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/2 9:47:25
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/2 23:47:16
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/2 18:46:52
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/2 7:30:11
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/3 1:54:59
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57