This regex is still far from perfect.
永远不要满足已有的解决方案,不断改进。
How perfect you want your regex to be depends on what you want to do with it.
你希望你的正则表达式有多完美取决于你想用它做什么。
正则表达式基础知识
abc...
匹配对应字母串
123...
匹配对应数字串
\d
匹配任何一个数字字符
.
匹配任何非数字字符
\.
句点
[abc]
匹配 a 或 b 或 c
[^abc]
匹配非 a、b、c
[a-z]
匹配 a - z 的字符
[0-9]
匹配 0 - 9 的字符
\w
任何字母数字字符
\W
任何非字母数字字符
{m}
m 次重复
{m,n}
m 到 n 次重复
*
0 个,或多个匹配
+
至少1个,或多个匹配
?
可选字符
\s
任何空白字符
\S
任何非空白字符
^...$
^开头,$结尾
(...)
捕获组
(a(ab))
子捕获组
(.*)
捕获所有字符的组
(abc|def)
匹配 abc 或 def