a* a出现任意次
a+ a出现次数不为0
a?a出现(1)或不出现
a{n}a出现n次
a{n,n+x}a出现在n——n+x次
a{2,}a至少出现2次
(a|b)
a或者b中选一个
(ab)|(cd)
ab或者cd中选一个
[abc]\
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索.doc。在这里,会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321*)。
https://blog.csdn.net/codercjw/article/details/128860012
30min快速入门(写的很详细很棒)
https://deerchao.cn/tutorials/regex/regex.htm#mission