有些人在碰到问题时,就想:“我知道,我可以使用正则表达式。”现在,他们就有了两个问题。
测试网址: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
- 匹配从A到B中间的(非贪婪)
A.*?B
- 匹配所有html5标签
<[^>]+>
小纠结
感觉这玩意能用就行,后续每次碰到再补充到tips里。
叨叨几句... NOTHING