当前位置:
首页 >
正则表达式实例总结
发布时间:2023/12/15
36
豆豆
(?<![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个英文字母或者下划线组成的字符串
总结
- 上一篇: STC单片机程序下载失败总结
- 下一篇: QQ在屏幕边缘自动隐藏不能正常显示