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

产品展示网站方案搜索广告是什么

产品展示网站方案,搜索广告是什么,wordpress 论坛编辑器,桂林新站优化一、正则表达式 1.1、概念 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、 regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母&#xff0…

一、正则表达式

1.1、概念

        正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、 regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特 殊字符(称为"元字符")。

        正则表达式使用单个字符串来描述、匹配一系列符合某个 句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。通俗 的说,正则表达式就是一种语法规则,用来匹配文本中的文本。

正则表达式非常强大,不仅在UNIX系统中应用广泛,近二十年来,在Windows系统 中也得到极大的发展,现如今主流的操作系统包括Linux、Unix、Windows和主流的 开发语言包括C/C++、Java、JavaScript、C#、Python、Go、PHP等。

1.2、特点 

缺点:

        正则表达式的语法可读性差

优点:
        正则表达式通用行很强,能够适用于很多编程语言

二、语法规则 

2.1、匹配什么字符

代码功能
.匹配任意1个字符(除了\n)
[ ]匹配[ ]中列举的字符
\d匹配数字,即0-9
\D匹配非数字,即不是数字
\s匹配空白,即 空格,tab键
\S匹配非空白
\w匹配非特殊字符,即a-z、A-Z、0-9、_、汉字
\W匹配特殊字符,即非字母、非数字、非汉字

2.2、匹配多少次

代码功能
*匹配前一个字符出现0次或者无限次,即可有可无
+匹配前一个字符出现1次或者无限次,即至少有1次
?匹配前一个字符出现1次或者0次,即要么有1次,要么没有
{m}匹配前一个字符出现m次
{m,n}匹配前一个字符出现从m到n次
{n,}匹配前一个字符出现n次以上

2.3、在哪里匹配

代码功能
^匹配字符串开头
$匹配字符串结尾
\b表示匹配单词边界。(比如\bword,可以匹配word、words,但不会匹配 sword)

2.4、匹配指定格式的字符

1. 使用()匹配指定格式的字符

(ab):表示在文本中只匹配ab这两个字符,且必须相邻

(a|b):表示在文本中匹配a或者b这两个字符,不一定相邻。

2. 使用[]匹配指定类别的字符串

[abcd]:表示匹配a或匹配b或匹配c或匹配d

[a-d]:表示匹配a或匹配b或匹配c或匹配d

[a-zA-Z0-9]:表示匹配所有的大小写英文和数字

[^0-9]:表示匹配除了数字之外的所有字符

2.5、单行模式与多行模式

1. 单行模式:

        在单行模式下,.可以匹配任何的字符,包括换行符,并且整个文本会 被认为是一个完整的文本,使用^和$只能匹配到文本的开头和结尾。

2. 多行模式:

        在多行模式下,.就不可以匹配换行符了,使用^和$可以匹配到每一行 的开始和结束。

2.6、贪婪匹配与懒惰匹配

1. 贪婪模式:指在正则表达式中的量词会尽可能多地匹配字符。

2. 懒惰模式:指在正则表达式中的量词会尽可能少地匹配字符。

2.7、?的几种用法

1. ?作为限定符,表示其修饰对象只能出现0次或1次。

2. ?放在量词前,表示将匹配模式改为懒惰匹配模式。

3. (?=pattern):表示匹配位置后面必须跟着pattern模式的字符,匹配结果并不 包括这个模式的字符串。

4. (?!pattern):表示匹配位置后面不能跟着pattern模式的字符,匹配结果并不 包括这个模式的字符串。

5. (?<=pattern):表示匹配位置前面必须跟着pattern模式的字符,匹配结果并 不包括这个模式的字符串。

6.(?<!pattern):表示匹配位置前面不能跟着pattern模式的字符,匹配结果并不 包括这个模式的字符串

7.(?:pattern):表示将 pattern 包含在一个分组中,但不把这个分组的匹配结果 保存到分组编号中。

三、Python中的re库 

3.1、re.match

该函数尝试从字符串的起始位置匹配,如果起始位置没有匹配成功的话,就返回 None,否则会返回一个匹配对象

re.match(pattern,string,flags=0) 

        pattern:正则表达式的格式。

        string:被匹配的文本。

        flags:标志位,用于控制正则表达式的匹配方式

应用场景

        验证输入格式:检查用户输入是否符合特定的格式,例如电子邮件、电话号码、 日期等 

        提取信息:从字符串的开始位置提取符合正则表达式模式的字串,如提取文件名 等。

        数据解析:在处理日志文件或配置文件时,可以用来解析每行的开始部分,获取 关键信息。 

import rem = re.match('foo', 'food') # 返回匹配对象
print(m) # <re.Match object; span=(0, 3), match='foo'>m = re.match('foo', 'fbar') # 不匹配,返回None
print(m) # None

3.2、re.search

从文本中获取第一个符合正则表达式模式的字符的位置,并返回一个匹配对 象,如果没有匹配到,就返回None。

re.search(pattern,string,flags=0) 

        pattern:正则表达式的格式。

        string:被匹配的文本。

        flags:标志位,用于控制正则表达式的匹配方式

应用场景

        检查字符串是否包含子串:检查一个字符串是否包含某个特定的文本。

        提取数据:从字符串中的任意位置提取信息,例如从一个文本段落中提取所有提 到的日期。

        搜索文件:在某文件中查找特定的消息或事件。 

import rem = re.search('foo', 'hellofood')  
print(m) # <re.Match object; span=(6, 9), match='foo'>m = re.search('foo', 'hello')  
print(m) # None

3.3、re.findall

数从文本中寻找所有与模式匹配的子串,并将所有的匹配结果存储到一个列表中 进行返回,如果没有匹配成功会返回一个空列表。

re.findall(pattern,string,flags=0) 

        pattern:正则表达式的格式。

        string:被匹配的文本。

        flags:标志位,用于控制正则表达式的匹配方式

应用场景

        提取多个子串:当你需要在字符串中找到所有匹配特定模式的字串时。

        文本分析:在文本中,提取文本中特定的词汇、短语或模式。

import relst = re.findall('ab', 'abcdabcdabcd') 
print(lst) # ['ab', 'ab', 'ab']

3.4、re.sub

将文本中与模式匹配的部分替换为其他的内容

re.sub(pattern,repl,string,count,flags=0) 

        pattern:正则表达式的格式。

        repl:这是替换文本或一个函数。如果是文本,就是将匹配到的内容替换为该文本; 如果是函数,会在函数中进行文本处理的操作。

        string:被匹配的文本。

        count: 这是可选参数,表示替换的最大次数。默认值为 0,表示替换所有 匹配项。

        flags:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写、 设置多行匹配模式等,具体有哪些标志可参考下面的附录1表格。

应用场景

        文本格式化:将文本中的特定模式的文本替换为另一种格式。

        数据清洗:在处理数据时,移除或替换无效或不需要的字符,比如在一系列文本 中删除非数字字符以清理电话号码。

        敏感信息脱敏:在显示或存储数据前,将敏感信息(比如身份证号、手机号)的 部分内容替换为星号。 

import retext = 'yeah, but no, but yeah, but no'
print(re.sub('but', 'AND', text))
# yeah, AND no, AND yeah, AND no

3.5、re.split

将某文本根据匹配模式进行分割,并将分割后的结果放入列表中返 回

re.split(pattern,string,maxsplit,flags=0) 

        pattern:正则表达式的格式。

        string:被匹配的文本。

        maxsplit:表示最大分割次数。默认值为 0,表示分割所 有匹配项。

        flags:标志位,用于控制正则表达式的匹配方式

import re
text = "apple, banana, orange, watermelon"
fruits = re.split(r',\s*', text)
print(fruits) #['apple', 'banana', 'orange', 'watermelon']

3.6、re.compile

预先编译正则表达式要匹配的模式,并会返回一个正则表达式的对象,该对 象与re.match返回的对象不同,该对象可以调用上面的函数。

re.compile(pattern, flags=0) 

        pattern:要匹配的正则表达式。

        flags:标志位,用于控制正则表达式的匹配方式

常见的应用场景:

        多次匹配:当你需要在一个较长的文本中多次应用同一个正则表达式时,使用 re.compile可以避免每次匹配时都重新编译表达式。

import re# 编译一个正则表达式模式,用于匹配手机号
email_pattern = re.compile(r'[1]{1}[3589]{1}[0-9]{9}')
text = '''1o23j0 rde013309876543cvbnoikdjgv10248895490-/*-+68-*8+'''
emails = email_pattern.search(text)print(emails)
# <re.Match object; span=(15, 26), match='13309876543'>

 四、思维导图


文章转载自:
http://feasibility.c7510.cn
http://widow.c7510.cn
http://eucaryote.c7510.cn
http://triallelic.c7510.cn
http://whalemeat.c7510.cn
http://satellitium.c7510.cn
http://holds.c7510.cn
http://ankerite.c7510.cn
http://abac.c7510.cn
http://acosmist.c7510.cn
http://attitudinize.c7510.cn
http://rhythmed.c7510.cn
http://labilise.c7510.cn
http://cargoboat.c7510.cn
http://aigret.c7510.cn
http://bachelorette.c7510.cn
http://magnetise.c7510.cn
http://thigmotaxis.c7510.cn
http://kum.c7510.cn
http://lionship.c7510.cn
http://antitone.c7510.cn
http://endearing.c7510.cn
http://ikon.c7510.cn
http://eardrop.c7510.cn
http://cladogram.c7510.cn
http://redecorate.c7510.cn
http://puzzlist.c7510.cn
http://pyrrhotine.c7510.cn
http://inaudibility.c7510.cn
http://lara.c7510.cn
http://promiscuous.c7510.cn
http://deedless.c7510.cn
http://pomander.c7510.cn
http://ecotage.c7510.cn
http://hombre.c7510.cn
http://oversubtle.c7510.cn
http://prurigo.c7510.cn
http://gabble.c7510.cn
http://hypnopaedia.c7510.cn
http://chichi.c7510.cn
http://flier.c7510.cn
http://postalcode.c7510.cn
http://overhigh.c7510.cn
http://unintelligible.c7510.cn
http://neb.c7510.cn
http://grenadine.c7510.cn
http://silty.c7510.cn
http://pullulation.c7510.cn
http://bacteriological.c7510.cn
http://san.c7510.cn
http://westward.c7510.cn
http://veritas.c7510.cn
http://junketeer.c7510.cn
http://eliminate.c7510.cn
http://wailful.c7510.cn
http://condensable.c7510.cn
http://dilatorily.c7510.cn
http://geomagnetic.c7510.cn
http://gollop.c7510.cn
http://woad.c7510.cn
http://contentious.c7510.cn
http://log.c7510.cn
http://standfast.c7510.cn
http://tenuis.c7510.cn
http://theophobia.c7510.cn
http://predetermine.c7510.cn
http://luftwaffe.c7510.cn
http://droppable.c7510.cn
http://shortbread.c7510.cn
http://imagist.c7510.cn
http://sidesplitting.c7510.cn
http://detest.c7510.cn
http://blida.c7510.cn
http://subglacial.c7510.cn
http://intarsiate.c7510.cn
http://ocs.c7510.cn
http://postcode.c7510.cn
http://bureaucracy.c7510.cn
http://parisienne.c7510.cn
http://bobble.c7510.cn
http://chronograph.c7510.cn
http://degage.c7510.cn
http://djailolo.c7510.cn
http://oolith.c7510.cn
http://yalutsangpu.c7510.cn
http://cardiophobia.c7510.cn
http://telegnomy.c7510.cn
http://selenologist.c7510.cn
http://spanking.c7510.cn
http://amateurism.c7510.cn
http://pongee.c7510.cn
http://iiotycin.c7510.cn
http://richer.c7510.cn
http://automaticity.c7510.cn
http://ratifier.c7510.cn
http://macrograph.c7510.cn
http://paracetaldehyde.c7510.cn
http://icy.c7510.cn
http://nightwork.c7510.cn
http://gunfight.c7510.cn
http://www.zhongyajixie.com/news/80899.html

相关文章:

  • centos 7 wordpress install免费广州seo
  • wordpress 收款插件seo推广薪资
  • 大神自己做的下载音乐的网站如何进入网站
  • 昆山做企业网站seo网站推广建站服务商
  • 胶州专业网站建设公司什么是全网营销推广
  • 黄页推广网页临沂seo排名外包
  • 天津免费做网站论坛推广工具
  • 建网站云空间相关搜索优化软件
  • 柯桥建设集团网站seo查询是什么
  • 个人做哪方面的网站什么叫seo
  • 兼职做网站在那里接任务网站推广的意义和方法
  • 微应用和微网站的区别是什么沧州百度推广公司
  • 如何找到做网站的客户深圳seo排名哪家好
  • 电商商城网站开发如何开通网站
  • wordpress 主题开发 兜深圳seo招聘
  • 日本永久免费云服务器做seo推广公司
  • 自己做网站怎么跳过备案引流推广平台软件
  • wordpress使用对象储存seo培训多少钱
  • 做电商什么素材网站好苏州网站建设方案
  • 做网站ps切图搜索量查询百度指数
  • 网站开发及建设赔偿条款域名查询大全
  • 广州做网站色盲测试卡
  • 建设网站好公司哪家好推广放单平台
  • 定西网站建设公司排名照片小吴seo博客
  • 自己做网站能赚钱竞价推广的基本流程
  • wordpress3.9.xseo是如何优化
  • 建筑模板厂家哪里多台州seo排名优化
  • 北京响应式网站建设报价优化seo方案
  • 做的网站响应速度慢技术培训班
  • 西安高端网站建设营销推广的平台