[笔记整理]Regular Expression / 正则表达式
<p><span style="font-style: italic;">2012.3.12笔记 by tclh123 - 自学版</span></p>
<hr />
<p> </p>
<h2>1、基本符号</h2>
<table>
<tbody>
<tr>
<th>符号</th> <th>名称</th> <th>匹配规则</th>
</tr>
<tr>
<td>.</td>
<td>单点</td>
<td>除换行外任意字符</td>
</tr>
<tr>
<td>*</td>
<td>星号</td>
<td>前面的匹配可以出线<span style="text-decoration: underline;">任意次</span></td>
</tr>
<tr>
<td>+</td>
<td>加号</td>
<td>前面的匹配出线至少一次</td>
</tr>
<tr>
<td>{n}</td>
<td>大括号指定</td>
<td>前面的匹配恰出现n次</td>
</tr>
<tr>
<td>{n,m}</td>
<td>大括号指定,拓展</td>
<td>前面的匹配出现n~m次</td>
</tr>
<tr>
<td>?</td>
<td>问号</td>
<td>匹配0次或1次</td>
</tr>
<tr>
<td>[]</td>
<td>方括号</td>
<td>指定匹配集</td>
</tr>
<tr>
<td>[^..]</td>
<td>非</td>
<td>取反集</td>
</tr>
<tr>
<td>[ - ]</td>
<td>连字符</td>
<td>如,[0-9]、[a-z]</td>
</tr>
<tr>
<td>()</td>
<td>括号</td>
<td>可以用来分组(,返回的第一组是所有匹配)</td>
</tr>
</tbody>
</table>
<h2><!--more--></h2>
<h2>2、常见类型</h2>
<ul>
<li>\d = [0-9]</li>
<li>\D = [^0-9]</li>
<li>\w = [a-zA-Z0-9_]</li>
<li>\W = [^a-zA-Z0-9_]</li>
<li>\s = [\t\n\e\f]<span>,(空白字符)</span></li>
<li>\S = [^\t\n\e\f]</li>
</ul>
<h2>3、关于限定符 *、+、?</h2>
<p>默认是“贪心的”,即尽可能多匹配字符。在其后再加“?”,变为尽可能少匹配字符。</p>
<h2>4、一般思路</h2>
<p>把要匹配的东西替换为“(.*?)”,然后获得相应分组的信息即可。</p>
<p> </p>
<p> </p>
--End--