加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式实例总结

发布时间:2020-12-14 02:27:49 所属栏目:百科 来源:网络整理
导读:(?![a-z0-9章])s([^a-z]*?) 匹配前后都不是数字或字母的空格(前面为第x章除外),用于删去文本中多余空格 第一章 (前面为"章",此处空格不匹配) 大厅 She (前后为字母,此处空格不匹配) started to... 她开始 (匹配此处多余空格) 走同周游中国各地的
(?<![a-z0-9章])s([^a-z]*?)
匹配前后都不是数字或字母的空格(前面为第x章除外),用于删去文本中多余空格
第一章 (前面为"章",此处空格不匹配)大厅
She (前后为字母,此处空格不匹配)started to...
她开始 (匹配此处多余空格)走同周游中国各地的旅程
<[^<>]*>
匹配HTML标签(不支持嵌套,但可多次替换删除)
[一二三四五六七八九十]
匹配中文章节
(?<=[一二三四五六七八九十]) (?!卷)
匹配前面为中文序号,后面不为卷的空格,替换成顿号"、"或点"."
(此处空格匹配)大厅
第 一 (此处空格不匹配)
(.+)(?=rn1rn)
匹配相同两行的前一行(捕获并自动分组)
大厅 (匹配这一行内容,不含换行)
大厅
(?<=,d{3})rn(?!{)
匹配字幕时间轴后换行(换行后没有大括号)
00:04:03,700 --> 00:04:05,290 (匹配此处换行)
(此处没有“{”)快踩油门啊,伙计!
Step on the gas,dude!
(?<=rn)(?<!d)rn(?=dd:dd:dd,)
匹配时间轴中没有数字序号的换行
15 (此处可能有空格)(此处不匹配,如果没有红色的“<”则会匹配,详见注释
01:14:45,842 --> 01:14:50,242
快踩油门啊,伙计!
(此处缺失数字序号,匹配)
01:14:51,042 --> 01:14:52,236
注:如果没有红色的" <", (?=rn)(?<!d)rn可能会匹配前面"15 "中空格后的换行:
(?=rn)断言其后为"rn"(事实上,其后确实是"rn",也正是我们要匹配的换行,此断言没有意义),
(?<!d)断言其前不是数字,刚好成立
而加了"<"后, (?<=rn)断言其前为"rn",如果其前是空格,则无法匹配
=============================以下为转载,未测试=============================
第[一二两三四五六七八九十○零百0-91234567890]{1,12}章
按章查找
第[一二两三四五六七八九十○零百0-91234567890]{1,12}节
按节查找
第[一二两三四五六七八九十○零百0-91234567890]{1,12}(章|节)
按照章或节查找
^[1-9]d*(.d+)?(-[1-9]d*(.d+))?$
^[0-9]+$
章节只有数字
<(s*?)[^>]*>.*?</1>|<.*? />
匹配HTML标记(仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力)
^s*|s*$
匹配首尾空白字符(可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配Email地址
[a-zA-z]+://[^s]*
匹配网址URL(基本可以满足需求)
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
d{3}-d{8}|d{4}-d{7}
匹配国内电话号码(形式如 0511-4405222 或 021-87888822)
[1-9][0-9]{4,}
匹配腾讯QQ号(从10000开始)
匹配中国邮政编码
[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字
d{15}|d{18}
匹配身份证(中国的身份证为15位或18位)
d+.d+.d+.d+
匹配ip地址(提取ip地址时有用,不完善)
^[1-9]d*$
匹配正整数
^-[1-9]d*$
匹配负整数
^-?[1-9]d*$
匹配整数
^[1-9]d*|0$
匹配非负整数(正整数 + 0)
^-[1-9]d*|0$
匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$
匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$
匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$
匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$
匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$
匹配非正浮点数(负浮点数 + 0)
^[A-Za-z]+$
匹配由26个英文字母组成的字符串
^[A-Z]+$
匹配由26个英文字母的大写组成的字符串
^[a-z]+$
匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$
匹配由数字和26个英文字母组成的字符串
^w+$
匹配由数字、26个英文字母或者下划线组成的字符串

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读