正则表达式实例总结

前端之家收集整理的这篇文章主要介绍了正则表达式实例总结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
(?<![a-z0-9章])\s([^a-z]*?)
匹配前后都不是数字或字母的空格(前面为第x章除外),用于删去文本中多余空格
第一章 (前面为"章",此处空格不匹配)大厅
She (前后为字母,此处空格不匹配)started to...
她开始 (匹配此处多余空格)走同周游中国各地的旅程
<[^<>]*>
匹配HTML标签不支持嵌套,但可多次替换删除
[一二三四五六七八九十]
匹配中文章
(?<=[一二三四五六七八九十]) (?!卷)
匹配前面为中文序号,后面不为卷的空格,替换成顿号"、"或点"."
(此处空格匹配)大厅
第 一 (此处空格不匹配)
(.+)(?=\r\n\1\r\n)
匹配相同两行的前一行(捕获并自动分组)
大厅 (匹配这一行内容,不含换行)
大厅
(?<=,\d{3})\r\n(?!\{)
匹配字幕时间轴后换行(换行后没有大括号)
00:04:03,700 --> 00:04:05,290 (匹配此处换行)
(此处没有“{”)快踩油门啊,伙计!
Step on the gas,dude!
(?<=\r\n)(?<!\d)\r\n(?=\d\d:\d\d:\d\d,)
匹配时间轴中没有数字序号的换行
15 (此处可能有空格)(此处不匹配,如果没有红色的“<”则会匹配,详见注释
01:14:45,842 --> 01:14:50,242
快踩油门啊,伙计!
(此处缺失数字序号,匹配)
01:14:51,042 --> 01:14:52,236
注:如果没有红色的" <", (?=\r\n)(?<!\d)\r\n可能会匹配前面"15 "中空格后的换行:
(?=\r\n)断言其后为"\r\n"(事实上,其后确实是"\r\n",也正是我们要匹配的换行,此断言没有意义),
(?<!\d)断言其前不是数字,刚好成立
而加了"<"后, (?<=\r\n)断言其前为"\r\n",如果其前是空格,则无法匹配
=============================以下为转载,未测试=============================
第[一二两三四五六七八九十○零百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个英文字母或者下划线组成的字符串

猜你在找的正则表达式相关文章