正则表达式

发布于 2020-08-10  362 次阅读


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

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

特殊符号与字符

表示方法描述正则表达式实例
字符串匹配文字本身的字符串ki9mu
temp1|temp2匹配两个字符串ki9mu|newen
.匹配任意字符ki.mu
^匹配字符串起始部分,也就是开始字符串必须为ki9mu^ki9mu
$匹配字符串终止部分,也就是结束字符串必须为ki9muki9mu$
*匹配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里。


game to game, not win