当前位置: 首页 > news >正文

如何让别人浏览我做的网站/今天的新闻大事10条

如何让别人浏览我做的网站,今天的新闻大事10条,杭州市建设委员会官方网站,政府网站建设先进个人典型材料正则表达式(Regular Expression):定义:一种强大的文本处理工具,用于描述、匹配和查找字符串中的特定模式。应用:密码验证、文本搜索和替换、数据清洗等。特点:通过特定的元字符和规则来构建复杂…
正则表达式(Regular Expression):定义:一种强大的文本处理工具,用于描述、匹配和查找字符串中的特定模式。应用:密码验证、文本搜索和替换、数据清洗等。特点:通过特定的元字符和规则来构建复杂的模式匹配表达式。
字符串处理:定义:对文本数据(字符串)进行操作和分析的过程。技术:包括字符串的拼接、分割、查找、替换等。关系:正则表达式常常用于实现高效的字符串处理。
编程语言:定义:用于编写计算机程序的工具,如Python、Java、PHP等。作用:提供语法规则、数据结构和算法库,用于实现各种功能。关系:正则表达式通常在编程语言中作为内置功能或库来使用,以进行模式匹配和文本处理。

regex

在蓝桥杯的网络安全竞赛中,正则表达式发挥着不可或缺的作用。
网络安全比赛通常涉及到对网络安全漏洞的挖掘、分析和利用,其中很多环节都需要对大量的日志数据、代码片段或网络流量进行分析。
而正则表达式正是处理这些文本数据的利器。

具体来说,正则表达式在网络安全比赛中的重要性体现在以下几个方面:

  • 日志分析:在网络安全比赛中,参赛者经常需要分析系统或应用的日志文件,以查找潜在的攻击痕迹或异常行为。通过编写合适的正则表达式,参赛者可以快速定位到关键信息,提高分析效率。
  • 代码审计:在代码审计环节,参赛者需要查找源代码中可能存在的安全漏洞。正则表达式可以帮助参赛者快速定位到特定的代码模式或函数调用,从而发现潜在的安全风险。
  • 网络流量分析:在网络安全比赛中,参赛者有时需要分析网络流量数据,以识别恶意流量或攻击行为。正则表达式可以帮助参赛者从大量的网络数据包中提取出关键信息,如特定的协议字段、IP地址或端口号等。

此外,正则表达式还可以用于编写自动化脚本、构建安全工具等方面,为参赛者在网络安全比赛中提供强大的技术支持。

正则表达式提供了强大的模式匹配能力,使得字符串处理变得更加高效和灵活。 例如,你可以使用正则表达式来查找和替换字符串中的特定模式。
编程语言通常提供对正则表达式的支持,使得开发者能够在程序中方便地使用正则表达式来处理文本数据。
不同的编程语言可能有不同的语法和函数来调用和使用正则表达式。

接下来让我们从四个正则的题目,学习一下正则表达式基本用法。

一、电话号码

编写一个正则表达式,用于匹配以1开头的11位数字组成的电话号码。
^1\d{10}$
  • ^ 表示字符串的开始。
  • 1 匹配数字1。
  • \d{10} 匹配10个数字。
  • $ 表示字符串的结束。

二、HTTP网址

这个题目要求你构建一个正则表达式,能够识别并匹配大多数常见的URL结构。
一个基本的URL通常包括协议头(如http://或https://),域名(由子域名、主域名和顶级域名组成),以及可能存在的路径和查询参数。
注意,这个题目要求的是匹配“基本的”URL格式,因此不需要考虑所有可能的URL变种或特殊情况。

题目:编写一个正则表达式,用于匹配基本的URL格式。

^(https?:\/\/)?([\da-z.-]+)\.([a-z.-]{2,6})([\/\w .-]*)*\/?

regular expression

  1. ^:表示字符串的开始。

  2. (https?:\/\/)?

    • https?:匹配"http"或"https"。
    • :\/\/:匹配://
    • ?:表示前面的整个组(https?:\/\/)是可选的。
  3. ([\da-z.-]+)
    这部分用于匹配URL中的子域名部分,例如"www"或"subdomain"。

    • [\da-z.-]:匹配一个数字、字母、点号或短横线。
    • +:表示前面的字符集可以出现一次或多次。
  4. \.:匹配点号(.),在正则表达式中点号是一个特殊字符,所以需要使用反斜杠进行转义。

  5. ([a-z.]{2,6})
    这部分用于匹配顶级域名(TLD),如".com"、".org"等。

    • [a-z.]:匹配一个小写字母或点号。
    • {2,6}:表示前面的字符集可以出现2到6次。
  6. ([\/\w .-]*)*

    • [\/\w .-]:匹配斜杠(/)、单词字符(等同于[a-zA-Z0-9_])、点号、短横线。
    • *:表示前面的字符集可以出现0次或多次。
      外层的*表示前面的整个组([\/\w .-]*)可以出现0次或多次。
      这部分用于匹配URL中的路径和参数部分。
  7. \/?:匹配0个或1个斜杠。

这个正则表达式能够匹配大多数基本的URL格式,但它并不是完全严格的,因为URL的格式非常复杂,有很多特殊情况需要考虑。

三、IP地址

这个题目要求你编写一个能够精确匹配IPv4地址格式的正则表达式。
IPv4地址由四个数字段组成,每个数字段的值在0到255之间,段与段之间用点号(.)分隔。
正则表达式需要确保每个数字段都符合这个范围要求,并且整个地址的格式正确无误。

题目:编写一个正则表达式,用于匹配IPv4地址。

^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

Capturing Group

  1. ^:表示字符串的开始。
  2. ((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.)
    • 这是一个分组,用于匹配IP地址中的一个段(0-255)。
    • 25[0-5]:匹配250到255。
    • 2[0-4][0-9]:匹配200到249。
    • [01]?[0-9][0-9]?:匹配0到199,其中[01]?表示0或1出现0次或1次,[0-9][0-9]?表示一个数字后面可以跟一个可选的数字。
    • \.:匹配点号(.)。
  3. {3}:表示前面的整个组(一个IP段和点号)重复3次,即匹配前三段IP地址。
  4. (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?):再次匹配IP地址中的一个段(0-255),但这次没有点号,因为这是在匹配最后一个段。
  5. $:表示字符串的结束。

这个正则表达式精确地匹配IPv4地址的格式,确保每个段都在0到255的范围内。

四、密码

密码的长度必须至少为8个字符。
密码中必须包含至少一个大写字母(A-Z)。
密码中必须包含至少一个小写字母(a-z)。
密码中必须包含至少一个数字(0-9)。
密码中必须包含至少一个特殊符号。(如!@#$%^&*._等)

题目:校验密码,必须是包含大小写字母、数字、特殊符号的8位以上组合

零宽断言在正则表达式中起着非常关键的作用,它们用于匹配某些位置,但并不消耗字符,也就是说,它们不改变匹配位置,只是用来检查某个条件是否满足。

正向先行断言:语法为(?=pattern),它表示字符串中的一个位置,紧接该位置之后的字符序列能够匹配pattern。这种断言通常用于确保某个模式在特定位置之后存在,但不实际消耗或匹配这些字符。

(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[\W_]).{8,}$

positive lookahead

  1. ^:匹配字符串的开始位置。
  2. (?=.*[a-z]):正向先行断言(positive lookahead),确保至少有一个小写字母存在。
    • (?=...):表示一个正向先行断言,它会在当前位置尝试匹配括号内的正则表达式,但不会消耗任何字符,也就是说,匹配成功后,会回到原来的位置继续后面的匹配。
    • .*:匹配任意数量的任意字符(换行符除外)。
    • [a-z]:匹配任意小写字母。
  3. (?=.*[A-Z]):正向先行断言,确保至少有一个大写字母存在。
    • [A-Z]:匹配任意大写字母。
  4. (?=.*\d):正向先行断言,确保至少有一个数字存在。
    • \d:匹配任意数字。
  5. (?=.*\W_):正向先行断言,确保至少有一个特殊符号存在。
    • \W_:匹配题目中任意特殊符号。
  6. .{8,}:匹配任意字符(换行符除外)至少8次。
    • .:匹配任意字符(除了换行符)。
    • {8,}:表示前面的元素(.)至少出现8次。
  7. $:匹配字符串的结束位置。

零宽断言除了正向先行断言之外,还包括以下三种:

负向先行断言:语法为(?!pattern),它表示字符串中的一个位置,紧接该位置之后的字符序列不能匹配pattern。这种断言用于排除某些模式在特定位置之后出现的可能性。

正向后行断言:语法为(?<=pattern),它表示字符串中的一个位置,紧接该位置之前的字符序列能够匹配pattern。这种断言用于确保某个模式在特定位置之前存在。

负向后行断言:语法为(?<!pattern),它表示字符串中的一个位置,紧接该位置之前的字符序列不能匹配pattern。这种断言用于排除某些模式在特定位置之前出现的可能性。

结语

1. 正则表达式基础字符集:使用[]来定义一组字符,匹配其中的任意一个字符。元字符:具有特殊含义的字符,如.表示任意字符,*表示前面的元素出现0次或多次。转义字符:使用\来转义特殊字符,使其失去特殊含义。
2. 边界匹配^:匹配字符串的开始位置。$:匹配字符串的结束位置。
3. 量词*:匹配前面的元素0次或多次。+:匹配前面的元素1次或多次。?:匹配前面的元素0次或1次。{n}:匹配前面的元素恰好n次。
4. 分组与捕获():用于分组,也可以捕获匹配的子串。

regex learn
通过这次的学习,你已经掌握了正则表达式的基础知识,并了解了如何应用它们来解决实际问题。正则表达式的功能非常强大,但也需要一定的实践和经验来熟练掌握。建议你在实际项目中多使用正则表达式,通过实践来加深理解和提高应用能力。

思考:如何用正则的零宽断言获取小米商店的HTTPS链接?后面的参数?(如https://www.mi.com/shop/buy/detail?product_id=10050036)

学习地址:https://regexone.com/
这类网站上也会提供很多案例,比如查找给定文本等等,可以更好地学习正则。

练习地址:https://regex101.com/
只需要输入匹配的语法公式,便可以查询出对应的文本,文本会自动高亮显示。

相关文章:

蓝桥杯-网络安全比赛(2)基础学习-正则表达式匹配电话号码、HTTP网址、IP地址、密码校验

正则表达式&#xff08;Regular Expression&#xff09;&#xff1a;定义&#xff1a;一种强大的文本处理工具&#xff0c;用于描述、匹配和查找字符串中的特定模式。应用&#xff1a;密码验证、文本搜索和替换、数据清洗等。特点&#xff1a;通过特定的元字符和规则来构建复杂…...

如何创建azure pipeline

Azure Pipelines是一种持续集成和持续交付&#xff08;CI/CD&#xff09;工具&#xff0c;可以帮助开发团队自动化构建、测试和部署应用程序。以下是创建Azure Pipeline的步骤&#xff1a; 登录到Azure DevOps&#xff08;https://dev.azure.com/&#xff09;。在Azure DevOps…...

缓存菜品、套餐、购物车相关功能

一、缓存菜品 通过缓存的方式提高查询性能 1.1问题说明 大量的用户访问导致数据库访问压力增大&#xff0c;造成系统响应慢&#xff0c;用户体验差 1.2 实现思路 优先查询缓存&#xff0c;如果缓存没有再去查询数据库&#xff0c;然后载入缓存 将菜品集合序列化后缓存入red…...

微信小程序的页面交互1

一、page&#xff08;&#xff09;函数 每个页面的s代码全部写入对应的js文件的page&#xff08;&#xff09;函数里面。点击编译&#xff0c;就可以显示js代码的运行效果。注意&#xff0c;每个页面的page&#xff08;&#xff09;函数是唯一的。 page&#xff08;&#xff…...

win10 docker zookeeper和kafka搭建

好久没用参与大数据之类的开发了&#xff0c;近日接触到一个项目中使用到kafka&#xff0c;因此要在本地搭建一个简易的kafka服务。时间比较紧急&#xff0c;之前有使用docker的经验&#xff0c;因此本次就使用docker来完成搭建。在搭建过程中出现的一些问题&#xff0c;及时记…...

【Redis】快速入门 数据类型 常用指令 在Java中操作Redis

文章目录 一、简介二、特点三、下载与安装四、使用4.1 服务器启动4.2 客户端连接命令4.3 修改Redis配置文件4.4 客户端图形化界面 五、数据类型5.1 五种常用数据类型介绍5.2 各种数据类型特点 六、常用命令6.1 字符串操作命令6.2 哈希操作命令6.3 列表操作命令6.4 集合操作命令…...

【tingsboard开源平台】下载数据库,IDEA编译,项目登录

一&#xff0c; PostgreSQL 下载 需要看官网的&#xff1a;点此下载直达地址&#xff1a;点此进行相关学习&#xff1a;PostgreSQL 菜鸟教程 二&#xff0c;PostgreSQL 安装 点击安装包进行安装 出现乱码错误&#xff1a; There has been an error. Error running C:\Wind…...

Web3:探索区块链与物联网的融合

引言 随着科技的不断发展&#xff0c;区块链技术和物联网技术都成为了近年来备受瞩目的前沿技术。而当这两者结合在一起&#xff0c;将产生怎样的化学反应呢&#xff1f;本文将深入探讨Web3时代中区块链与物联网的融合&#xff0c;探索其意义、应用场景以及未来发展趋势。 1. …...

[BT]BUUCTF刷题第9天(3.27)

第9天&#xff08;共2题&#xff09; [护网杯 2018]easy_tornado 打开网站就是三个txt文件 /flag.txt flag in /fllllllllllllag/welcome.txt render/hints.txt md5(cookie_secretmd5(filename))当点进flag.txt时&#xff0c;url变为 http://b9e52e06-e591-46ad-953e-7e8c5f…...

html页面使用@for(){},@if(){},利用jquery 获取当前class在列表中的下标

基于以前的项目进行修改优化&#xff0c;前端代码根据List元素在html里进行遍历显示 原先的代码&#xff1a; 其中&#xff0c;noticeGuide.Id是标识noticeGuide的唯一值&#xff0c;但是不是从0开始的【是数据库自增字段】 但是在页面初始化加载的时候&#xff0c;我们只想…...

pulsar: 批量接收消息

接收消息时&#xff0c;和kafka类似&#xff0c;如果topic有多个分区&#xff0c;则只能保证分区内数据的接收有序&#xff0c;不能保证全局有序。 一、发送消息 package cn.edu.tju.test1;import org.apache.pulsar.client.api.*;public class BatchProducer01 {private sta…...

LNMP架构之mysql数据库实战

mysql安装 到官网www.mysql.com下载源码版本 实验室使用5.7.40版本 tar xf mysql-boost-5.7.40.tar.gz #解压 cd mysql-boost-5.7.40/ yum install -y cmake gcc-c bison #安装依赖性 cmake -DCMAKE_INSTALL_PREFIX/usr/local/mysql -DMYSQL_DATADIR/data/mysql -DMYSQL_…...

aws使用记录

数据传输&#xff08;S3) 安装命令行 安装awscli: https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/getting-started-install.html#getting-started-install-instructions 直到 aws configure list 可以运行 身份验证&#xff1a; 运行&#xff1a; aws config…...

区块链食品溯源案例实现(二)

引言 随着前端界面的完成&#xff0c;我们接下来需要编写后端代码来与区块链网络进行交互。后端将负责处理前端发送的请求&#xff0c;调用智能合约的方法获取食品溯源信息&#xff0c;并将结果返回给前端。 通过前后端的整合&#xff0c;我们可以构建一个食品溯源系统&#xf…...

RabbitMQ(简单模式)

2种远程服务调用 1openFeign&#xff1a; 优点&#xff1a;能拿到被调用的微服务返回的数据&#xff0c;系统系耦度高&#xff0c;系统稳定。 缺点&#xff1a;同步调用&#xff0c;如果有很多服务需要被调用&#xff0c;耗时长。 MQ,消息队列&#xff0c;RabbitMQ是消息we…...

ES集群部署的注意事项

文章目录 引言I ES集群部署前期工作II 部署ES2.1 配置安全组2.2 创建ES用户和组2.3 下载安装ES2.4 修改内存相关配置III es集群添加用户安全认证功能3.1 生成 elastic-certificates.p123.2 创建 Elasticsearch 集群密码3.2 设置kibana的 elasticsearch帐号角色和密码3.3 logsta…...

Etcd 基本入门

1&#xff1a;什么是 Etcd ? Etcd 是 CoreOS 团队于2013年6月发起的开源项目&#xff0c;它的目标是构建一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法&#xff0c;Etcd基于 Go 语言实现。 名字由来&#xff0c;它源于两个方面&#xff0c;…...

PPT没保存怎么恢复?3个方法(更新版)!

“我刚做完一个PPT&#xff0c;正准备保存的时候电脑没电自动关机了&#xff0c;打开电脑后才发现我的PPT没保存。这可怎么办&#xff1f;还有机会恢复吗&#xff1f;” 在日常办公和学习中&#xff0c;PowerPoint是制作演示文稿的重要工具。我们会在各种场景下使用它。但有时候…...

DBeaver修改sql语句保存位置

1、dbeaver通过工作空间方式来管理Script的sql脚本以及数据库连接。 工作空间&#xff0c;其实也就是一个文件夹 默认保存路径查看&#xff1a; 文件--> 切换工作空间 --> 其他 sql脚本的保存位置默认在工作空间下的 \General\Scripts 文件夹中。 2、 3、点击浏览&#…...

LabVIEW2024中文版软件安装包、工具包、安装教程下载

下载链接&#xff1a;LabVIEW及工具包大全-三易电子工作室http://blog.eeecontrol.com/labview6666 《LabVIEW2024安装图文教程》 1、解压后&#xff0c;双击install.exe安装 2、选中“我接受上述许可协议”&#xff0c;点击下一步 3、点击下一步&#xff0c;安装NI Package …...

对AOP的理解

目录 一、为何需要AOP&#xff1f;1、从实际需求出发2、现有的技术能解决吗&#xff1f;3、AOP可以解决 二、如何实现AOP&#xff1f;1、基本使用2、更推荐的做法2.1 “基本使用”存在的隐患2.2 最佳实践2.2.1 参考Transactional&#xff08;通过AOP实现事务管理&#xff09;2.…...

C 指针数组

C 指针数组是一个数组&#xff0c;其中的每个元素都是指向某种数据类型的指针。 指针数组存储了一组指针&#xff0c;每个指针可以指向不同的数据对象。 指针数组通常用于处理多个数据对象&#xff0c;例如字符串数组或其他复杂数据结构的数组。 让我们来看一个实例&#xf…...

算法系列--动态规划--背包问题(1)--01背包详解

&#x1f495;"趁着年轻,做一些比较cool的事情"&#x1f495; 作者&#xff1a;Mylvzi 文章主要内容&#xff1a;算法系列–动态规划–背包问题(1)–01背包详解 大家好,今天为大家带来的是算法系列--动态规划--背包问题(1)--01背包详解 一.什么是背包问题 背包问题…...

【KB】通过Karabiner-Elements实现 optionTAB与 commandTAB 对调/映射 win 的 altTAB 习惯

学习Karabiner-Elements的第一个 demo&#xff0c;因为推荐的例子中过多参数&#xff0c;这是一个简化版。 需求&#xff1a;对调 optionTAB与 commandTAB&#xff0c;然后安装 altTAB 软件&#xff0c;恢复win切换任务的使用习惯。 {"description": "Change ta…...

nvm node包管理工具

下载地址&#xff1a;版本 1.1.9 CoreyButler/NVM-Windows (github.com) 使用nvm -v 检查安装是否成功。 常用命令 # 安装nodjs版本 nvm install 10.16.3nvm install 14.15.4# 切换&#xff0c;使用nodejs nvm use 10.16.3 ## nvm use 报错&#xff0c;1).使用管理员打开…...

程序员如何兼职赚小钱?

程序员由于有技术和手艺其实兼职赚钱的路子还是挺多的&#xff0c;只要你有足够的时间。 1. 做外包 这是比较传统的方式&#xff0c;甲方在一些众包平台上发布开发任务&#xff0c;你可以抢这个任务&#xff0c;但是价格都比较便宜。 任务比较多的平台: 猪八戒、一品威客、开…...

奥比中光深度相机(一):环境配置

文章目录 奥比中光深度相机&#xff08;一&#xff09;&#xff1a;环境配置简介电脑环境SDK配置步骤安装环境依赖填写路径&#xff0c;点击Configure选择Visual studio点击Generate完成基于Python的SDK配置方法一&#xff1a;使用Cmake直接打开方法二&#xff1a;通过源文件打…...

API网关-Apisix路由配置教程(数据编辑器方式)

文章目录 前言一、端口修改1. apisix 端口修改2. dashboard 端口修改3. 登录密码修改 二、常用插件介绍1. 常用转换插件1.1 proxy-rewrite插件1.1.1 属性字段1.1.2 配置示例 2. 常用认证插件2.1 key-auth插件2.1.1 消费者端字段2.1.2 路由端字段2.1.3 配置示例 2.2 basic-auth插…...

Transformer的前世今生 day10(Transformer编码器

前情提要 ResNet&#xff08;残差网络&#xff09; 由于我们加更多层&#xff0c;更复杂的模型并不总会改进精度&#xff0c;可能会让模型与真实值越来越远&#xff0c;如下&#xff1a; 我们想要实现&#xff0c;加上一个层把并不会让模型变复杂&#xff0c;即没有它也没关系…...

【c++模板】泛型编程(你真的懂模版特化、分离编译和非类型参数吗)

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 今日主菜&#xff1a;模板 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在…...