正规表示式 Regular Expression
	
	程式进阶知识: 正规表示式 Regular Expression
	
	
	
	
	
	
 
	
	
	常见名词
- 正规表示式
 
- 正规表达式
 
- Regular Expression
 
特殊字元
| 字元 | 
说明 | 
范例 | 
符合的字串 | 
\ | 
跳脱字元,将指定字元变成字串 | 
\*, \\ | 
*.jpg、http:\\ | 
^ | 
字串开头字元 | 
^a | 
abc | 
$ | 
字串开结尾字元 | 
t$ | 
eat | 
* | 
字元出现 0~n 次 | 
a* | 
aaa | 
+ | 
字元出现 1~n 次,等于 {1,} | 
a+、a{1,} | 
aaa | 
? | 
字元出现 0~1 次,等于 {0,1} | 
a?、a{0,1} | 
a | 
. | 
除了换行字元,其他字元都符合 | 
 | 
 | 
() | 
撷取资料括弧 | 
(abc) | 
abc | 
x(?=y) | 
符合 x 的字元,但后方要接 y 字元 | 
 | 
 | 
x(?!y) | 
符合 x 的字元,但后方不是 y 字元 | 
 | 
 | 
| `x | 
y` | 
符合 x 的字元,或是 y 字元 | 
 | 
{n} | 
字元出现 n 次 | 
 | 
 | 
{n,m} | 
字元至少出现 n 次,至多出现 m 次 | 
 | 
 | 
[xyz] | 
字元的集合,这个字要包含集合中的候选字 | 
[xyz]、[a-z] | 
xyz | 
[^xyz] | 
字元的集合,这个字不能包含集合中的候选字 | 
[^xyz]、[^a-z] | 
123 | 
\d | 
整数,等于 [0-9] | 
\d、[0-9] | 
123 | 
\s | 
符合空白、tab 等任何字元,等于 [^\f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff] | 
 | 
 | 
\S | 
符合非空白、tab 等任何字元,等于 [^\f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff] | 
 | 
 | 
\t | 
符合 tab 字元 | 
 | 
 | 
\w | 
符合数字、字母与底线字元,等于 [A-Za-z0-9_] | 
\w、[A-Za-z0-9_] | 
abc_123 | 
\W | 
符合非数字、字母与底线字元,等于 [^A-Za-z0-9_] | 
\W、[^A-Za-z0-9_] | 
 | 
跳脱特殊字元
| 字元 | 
跳脱 | 
 | 
 | 
\ | 
\\ | 
 | 
 | 
( | 
\( | 
 | 
 | 
) | 
\) | 
 | 
 | 
[ | 
\[ | 
 | 
 | 
] | 
\] | 
 | 
 | 
{ | 
\{ | 
 | 
 | 
} | 
\} | 
 | 
 | 
参考正规表示式
| 比对项目 | 
正规表示式 | 
| ip 位址 | 
\d+\.\d+\.\d+\.\d+ | 
| 中文字 | 
[\u4e00-\u9fa5] | 
| Email | 
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* | 
| 邮递区号 | 
\d{3}((-)?\d{2})? | 
| 网址 | 
/^http://[a-za-z0-9]+.[a-za-z0-9]+[/=?%-&_~@[]':+!]*([^<>""])*$/ | 
| 手机 | 
[0-9]{4}\-[0-9]{3}\-[0-9]{3} | 
Regular Expression 网站
测试
- regex101: build, test, and debug regex
 
- RegExr: Learn, Build, & Test RegEx
 
- Rubular: a Ruby regular expression editor
 
- RegExp playground
 
- RegexPlanet - Online Regular Expression (Regex) Testing and Cookbook for: Go, Haskell, Java, JavaScript, .Net, Perl, PHP, PostgreSQL, Python, Ruby, Tcl & XRegExp
 
- Scriptular - Javascript Regular Expression Editor
 
- PHP Live Regex
 
视觉化
Tutorial
参考资料