正则表达式

有些人在碰到问题时,就想:“我知道,我可以使用正则表达式。”现在,他们就有了两个问题。

​ 测试网址:https://regex101.com/

特殊符号与字符

表示方法 描述 正则表达式实例
字符串 匹配文字本身的字符串 ki9mu
temp1|temp2 匹配两个字符串 ki9mu|newen
. 匹配任意字符 ki.mu
^ 匹配字符串起始部分,也就是开始字符串必须为ki9mu ^ki9mu
$ 匹配字符串终止部分,也就是结束字符串必须为ki9mu ki9mu$
* 匹配0次或者多次前面出现的正则表达式,贪婪模式 [A-Z0-9a-z]*
+ 匹配1次或者多次前面出现的正则表达式,贪婪模式 [A-Z0-9a-z]+\.com
? 匹配0次或者1次前面出现的正则表达式,非贪婪模式 ki[0-9]?mu
{N} 匹配N次前面出现的正则表达式 [a-z0-9]{3}mu
{M,N} 匹配从M~N次前面出现的表达式 [a-z0-9]{0,5}
[string] 匹配字符串中任意单一字符 [ki9mu]{5}
[x-y] 匹配从x到y的任意单一字符,y的ascii需要大于x [k-u0-9]{5}
[^string] 不匹配字符串中任意字符 [^ki9mu]{5}
(*|+|?|{})? 匹配上面重复出现符号的非贪婪版本(*、+、?、{}) .*?[a-z]$
(re) 匹配封闭的正则表达式
\d 匹配任何十进制数字,与[0,9]相同 ki\dmu
\D 匹配任何非数字,与\d相反 \D\D9mu
\w 匹配字母数字下划线,与[A-Z0-9a-z]相同 ki\wmu
\s 匹配任何空格字符,与[\n\t\r\v\f]相同 ki9mu\sis\sgreat
\b 匹配任何单词边界 \bki9mu\bis\bgreat\b

贪婪模式:尽可能多的匹配,应该尽量避免
非贪婪模式:尽可能少的匹配

tips

  1. 匹配从A到B中间的(非贪婪)

    A.*?B
  1. 匹配所有html5标签

    <[^>]+>

小纠结

感觉这玩意能用就行,后续每次碰到再补充到tips里。