vps做网站用什么系统做网站收多少钱
- 作者: 多梦笔记
- 时间: 2026年02月18日 05:49
当前位置: 首页 > news >正文
vps做网站用什么系统,做网站收多少钱,自动生成h5 wordpress,婚纱网站模板文章目录 概念正则函数match函数正则表达式修饰符意义#xff1a; 常用匹配符限定符原生字符串边界字符 概念 正则表达式是对字符串操作的一种逻辑公式#xff0c;就是用事先定义好的一些特定字符、及这些特定字符的组合#xff0c;组成一个“规则字符串”#xff0c;这个… 文章目录 概念正则函数match函数正则表达式修饰符意义 常用匹配符限定符原生字符串边界字符 概念 正则表达式是对字符串操作的一种逻辑公式就是用事先定义好的一些特定字符、及这些特定字符的组合组成一个“规则字符串”这个“规则字符串”用来表达对字符串的一种过滤逻辑可以用来做检索截取或者替换操作。 作用 给定的字符串是否符合正则表达式的过滤逻辑称作“匹配”。 可以通过正则表达式从字符串中获取我们想要的特定部分。 还可以对目标字符串进行替换操作。 Python语言通过标准库中的re模块支持正则表达式。re模块提供了一些根据正则表达式进行查找、替换、分隔字符串的函数这些函数使用一个正则表达式作为第一个参数。 正则函数 函数描述match(pattern,string,flags0)根据pattern从string的头部开始匹配字符串只返回第1次匹配成功的对象否则返回Nonefindall(pattern,string,flags0)根据pattern在string中匹配字符串。如果匹配成功返回包含匹配结果的列表否则返回空列表。当pattern中有分组时返回包含多个元组的列表每个元组对应1个分组。flags表示规则选项规则选项用于辅助匹配。sub(pattern,repl,string,count0)根据指定的正则表达式替换源字符串中的子串。pattern是一个正则表达式repl是用于替换的字符串string是源字符串。如果count等于0则返回string中匹配的所有结果如果count大于0则返回前count个匹配结果subn(pattern,repl,string,count0)作用和sub()相同返回一个二元的元组。第1个元素是替换结果第2个元素是替换的次数search(pattern,string,flags0)根据pattern在string中匹配字符串只返回第1次匹配成功的对象。如果匹配失败返回Nonecompile(pattern,flags0)编译正则表达式pattern返回1个pattern的对象split(pattern,string,maxsplit0)根据pattern分隔stringmaxsplit表示最大的分隔数escape(pattern)匹配字符串中的特殊字符如、、?等 match函数 re.match 尝试从字符串的起始位置匹配一个模式如果不是起始位置匹配成功的话match()就返回None。语法格式如下 re.match(pattern, string, flags0)参数描述pattern匹配的正则表达式string要匹配的字符串。flags标志位用于控制正则表达式的匹配方式如是否区分大小写多行匹配等等。如下表列出正则表达式修饰符 - 可选参数 正则表达式修饰符 修饰符描述re.I使匹配对大小写不敏感re.L做本地化识别locale-aware匹配re.M多行匹配影响 ^ 和 $re.S使 . 匹配包括换行在内的所有字符re.U根据Unicode字符集解析字符。这个标志影响 \w, \W, \b, \B.re.X该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。 意义 re.match是用来进行正则匹配检查的方法如果字符串开头的0个或多个字符匹配正则表达式模式则返回相应的match对象。如果字符串不匹配模式返回None注意不是空字符串 匹配对象Match Object具有group()方法 用来返回字符串的匹配部分,具有span()方法。返回匹配字符串的位置元组存储开始结束位置具有start(),end()方法存储匹配数据的开始和结束位置。也可以通过对象的dir(对象查看对象的方法) 如果想在目标字符串的任意位置查找需要使用search 示例 import re shello python patternhello vre.match(pattern,s) print(v) print(v.group()) #group函数接受一个参数表示要获取第几个子字符串默认为0表示获取整个匹配到的字符串。 print(v.span()) #span() 是 re 模块中的一个函数,它用于在字符串中搜索模式并返回匹配的起始和结束位置输出结果 re.Match object; span(0, 5), match‘hello’ hello (0, 5) import re s hello Python! mre.match(hello python,s,re.I) #忽略大小写 if m is not None:print(匹配成功结果是,m.group()) else:print(匹配失败)输出结果 匹配成功结果是 hello Python 常用匹配符 符号描述.匹配任意一个字符除了\n[]匹配列表中的字符\w匹配字母、数字、下划线即azAZ,0~9\W匹配不是字母、数字、下划线\s匹配空白字符即空格\n,\t\S匹配不是空白的字符\d匹配数字即0~9\D匹配非数字的字符 一个正则表达式是由字母、数字和特殊字符括号、星号、问号等组成。正则表达式中有许多特殊的字符这些特殊字符是构成正则表达式的要素。 import re pattern. #匹配任意一个字符除了\n sa print(匹配字符a,re.match(pattern,s)) sC print(匹配字符C,re.match(pattern,s)) s_ print(匹配字符,re.match(pattern,s)) s\n print(匹配字符\n,re.match(pattern,s))输出结果 匹配字符a re.Match object; span(0, 1), match‘a’ 匹配字符C re.Match object; span(0, 1), match‘C’ 匹配字符 re.Match object; span(0, 1), match‘’ 匹配字符\n None import re pattern\d #匹配数字,即0-9 s9 print(匹配数字9,re.match(pattern,s)) s4 print(匹配数字4,re.match(pattern,s)) sa print(匹配字符a,re.match(pattern,s)) s print(匹配字符,re.match(pattern,s))输出结果 匹配数字9 re.Match object; span(0, 1), match‘9’ 匹配数字4 re.Match object; span(0, 1), match‘4’ 匹配字符a None 匹配字符 None 限定符 如果要匹配手机号码按上面的理解需要形如“\d\d\d\d\d\d\d\d\d\d\d”这样的正则表达式。其中表现了11次“\d”表达方式烦琐。正则表达式作为一门小型的语言还提供了对表达式的一部分进行重复处理的功能。例如“”可以对正则表达式的某个部分重复匹配多次。这种匹配符号称为限定符。 符号描述符号描述*匹配零次或多次{m}重复m次匹配一次或多次{m,n}重复m到n次其中n可以省略表示m到任意次?匹配一次或零次{m,}至少m次 import re print(——匹配零次或多次——–) pattern\d #0次或多次 s123abc print(匹配123abc,re.match(pattern,s)) ## 结果是123 sabc #这时候不是None而是 print(匹配abc,re.match(pattern,s)) ## 结果是 print(—–匹配一次或多次———) pattern\d #1次或多次 s123abc print(匹配123abc,re.match(pattern,s)) ##结果是123 sabc #这时候是None print(匹配abc,re.match(pattern,s)) print(—–?匹配一次或零次———) pattern\d? #0次或1次 s123abc print(匹配123abc,re.match(pattern,s)) sabc #这时候是空 print(匹配abc,re.match(pattern,s))import re print(—–{m}重复m次———) pattern\d{3} #匹配数字出现3次 s123abc print(pattern为\d{3}匹配123abc结果,re.match(pattern,s)) pattern\d{4} #匹配数字出现4次这时候结果为空 print(pattern为\d{4}匹配123abc结果,re.match(pattern,s)) print(—–{m,}至少m次———) s1234567abc pattern\d{3,} #重复大于3次 尽可能满足的都返回 这时候结果为1234567 print(pattern为\d{3,}匹配1234567abc结果\n,re.match(pattern,s)) print(—–{m,n}重复m到n次———) pattern\d{2,4} #重复2到4次这时候结果为1234 print(pattern为\d{2,4}匹配1234567abc结果\n,re.match(pattern,s))【示例】匹配出一个字符串首字母为大写字符后边都是小写字符这些小写字母可有可无 pattern[A-Z][a-z]* sHello world sHEllo world vre.match(pattern,s) print(v) #输出结果为 re.Match object; span(0, 1), matchH 匹配出有效的变量名开头以字母、下划线开始变量名为有效变量名其余不是 import re pattern[A-Za-z][0-9A-Za-z]* print(pattern为[A-Za-z][0-9A-Za-z]) sa print(匹配变量名a的结果,re.match(pattern,s)) sab print(匹配变量名ab的结果,re.match(pattern,s)) s_ab print(匹配变量名ab的结果,re.match(pattern,s)) s2ab print(匹配变量名2ab的结果,re.match(pattern,s)) print(pattern为[A-Za-z]\w) pattern[A-Za-z_]\w* sa print(匹配变量名a的结果,re.match(pattern,s)) sab print(匹配变量名ab的结果,re.match(pattern,s)) s_ab print(匹配变量名_ab的结果,re.match(pattern,s)) s2ab print(匹配变量名2ab的结果,re.match(pattern,s))匹配1-99的数字 import re pattern[1-9]\d? #匹配1-9的数字或0~9匹配1次或0次 s1 print(匹配数字1,re.match(pattern,s)) s55 print(匹配数字55,re.match(pattern,s)) s99 print(匹配数字99,re.match(pattern,s)) s199 print(匹配数字199,re.match(pattern,s))匹配数字1 re.Match object; span(0, 1), match‘1’ 匹配数字55 re.Match object; span(0, 2), match‘55’ 匹配数字99 re.Match object; span(0, 2), match‘99’ 匹配数字199 re.Match object; span(0, 2), match‘19’ 【示例】匹配出一个随机密码8-20位以内 (大写字母 小写字母 下划线 数字) import re pattern\w{8,20} mm1548_1223 print(匹配结果,re.match(pattern,m))原生字符串 和大多数编程语言相同正则表达式里使用“\”作为转义字符这就可以能造成反斜杠困扰。 s c:\a\b\c print(s) # 结果是 c:\a\b\c s \n123 print(s) #结果是 换行 123 s \n123 print(s)#结果是 \n123假如你需要匹配文本中的字符“\”那么使用编程语言表示的正则表达式里将需要4个反斜杠“\”前面两个和后两个分别用于在编程语 言里转义成反斜杠转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。 Python里的原生字符串很好地解决了这个问题使用Python的r前缀。例如匹配一个数字的“\d”可以写成r“\d”。有了原生字符串再也不用担心是不是漏写了反斜杠写出来的表达式也更直观。 import re s r\n123 print(s) #输出结果是 \n123 #目标字符串 s \n123 pattern \n\d{3} print(re.match(pattern,s)) #返回None #如果想匹配两个反斜杠需要使用两个反斜杠作为转义,即正则中要写四个反斜杠 pattern \\n\d{3} print(re.match(pattern,s)) #使用原生字符串r比较方便 pattern r\n\d{3} print(re.match(pattern,s))边界字符 字符功能^匹配字符串开头\(匹配字符串结尾\b匹配一个单词的边界\B匹配非单词的边界 \)的使用 import re #匹配qq邮箱 5-10位 print(未限制结尾.center(30,-)) pattern [\d]{5,10}qq.com print(正确的邮箱匹配结果\n,re.match(pattern,12345qq.com)) print(不正确的邮箱匹配结果\n,re.match(pattern,12345qq.comabc)) print(限制结尾.center(30,-)) pattern [1-9]\d{4,9}qq.com$ print(正确的邮箱匹配结果\n,re.match(pattern,12345qq.com)) print(不正确的邮箱匹配结果\n,re.match(pattern,12345qq.comabc))————未限制结尾————- 正确的邮箱匹配结果 re.Match object; span(0, 12), match‘12345qq.com’ 不正确的邮箱匹配结果 re.Match object; span(0, 12), match‘12345qq.com’ ————-限制结尾————- 正确的邮箱匹配结果 re.Match object; span(0, 12), match‘12345qq.com’ 不正确的邮箱匹配结果 None \b的使用 pattern r.*\bab #ab左边界的情况 v re.match(pattern,123 abr) print(v) pattern r.*ab\b #ab为右边界的情况 v re.match(pattern,wab) print(v)re.Match object; span(0, 6), match‘123 ab’ re.Match object; span(0, 3), match‘wab’
- 上一篇: vps装网站管理系统手机网站建站 服务器
- 下一篇: vr成品网站源码在线观看网站主机地址
相关文章
-
vps装网站管理系统手机网站建站 服务器
vps装网站管理系统手机网站建站 服务器
- 站长
- 2026年02月18日
-
vps转移网站宁波seo推广服务
vps转移网站宁波seo推广服务
- 站长
- 2026年02月18日
-
vps设置网站访问用户权限成都效果图制作公司排行榜
vps设置网站访问用户权限成都效果图制作公司排行榜
- 站长
- 2026年02月18日
-
vr成品网站源码在线观看网站主机地址
vr成品网站源码在线观看网站主机地址
- 站长
- 2026年02月18日
-
vs2005做网站谁家做电商商城网站便宜
vs2005做网站谁家做电商商城网站便宜
- 站长
- 2026年02月18日
-
vs2008 网站消息弹窗怎么做静态网站设计模板
vs2008 网站消息弹窗怎么做静态网站设计模板
- 站长
- 2026年02月18日
