📄 正则表达式30分钟入门教程 - deerchao的blog - 博客园.htm
字号:
<TR>
<TD><SPAN class=code>\a</SPAN></TD>
<TD><SPAN class=desc>报警字符(打印它的效果是电脑嘀一声)</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\b</SPAN></TD>
<TD><SPAN class=desc>通常是单词分界位置,但如果在字符类里使用代表退格</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\t</SPAN></TD>
<TD><SPAN class=desc>制表符,Tab</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\r</SPAN></TD>
<TD><SPAN class=desc>回车</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\v</SPAN></TD>
<TD><SPAN class=desc>竖向制表符</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\f</SPAN></TD>
<TD><SPAN class=desc>换页符</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\n</SPAN></TD>
<TD><SPAN class=desc>换行符</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\e</SPAN></TD>
<TD><SPAN class=desc>Escape</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\0nn</SPAN></TD>
<TD><SPAN class=desc>ASCII代码中八进制代码为nn的字符</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\xnn</SPAN></TD>
<TD><SPAN class=desc>ASCII代码中十六进制代码为nn的字符</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\unnnn</SPAN></TD>
<TD><SPAN class=desc>Unicode代码中十六进制代码为nnnn的字符</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\cN</SPAN></TD>
<TD><SPAN class=desc>ASCII控制字符。比如\cC代表Ctrl+C</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\A</SPAN></TD>
<TD><SPAN class=desc>字符串开头(类似^,但不受处理多行选项的影响)</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\Z</SPAN></TD>
<TD><SPAN class=desc>字符串结尾或行尾(不受处理多行选项的影响)</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\z</SPAN></TD>
<TD><SPAN class=desc>字符串结尾(类似$,但不受处理多行选项的影响)</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\G</SPAN></TD>
<TD><SPAN class=desc>当前搜索的开头</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>\p{name}</SPAN></TD>
<TD><SPAN class=desc>Unicode中命名为name的字符类,例如\p{IsGreek}</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>(?>exp)</SPAN></TD>
<TD><SPAN class=desc>贪婪子表达式</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>(?<x>-<y>exp)</SPAN></TD>
<TD><SPAN class=desc>平衡组</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>(?im-nsx:exp)</SPAN></TD>
<TD><SPAN class=desc>在子表达式exp中改变处理选项</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>(?im-nsx)</SPAN></TD>
<TD><SPAN class=desc>为表达式后面的部分改变处理选项</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>(?(exp)yes|no)</SPAN></TD>
<TD><SPAN
class=desc>把exp当作零宽正向先行断言,如果在这个位置能匹配,使用yes作为此组的表达式;否则使用no</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>(?(exp)yes)</SPAN></TD>
<TD><SPAN class=desc>同上,只是使用空表达式作为no</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>(?(name)yes|no)</SPAN></TD>
<TD><SPAN class=desc>如果命名为name的组捕获到了内容,使用yes作为表达式;否则使用no</SPAN></TD></TR>
<TR>
<TD><SPAN class=code>(?(name)yes)</SPAN></TD>
<TD><SPAN class=desc>同上,只是使用空表达式作为no</SPAN></TD></TR></TBODY></TABLE>
<H2 id=contact>联系作者</H2>
<P>好吧,我承认,我骗了你,读到这里你肯定花了不止30分钟.相信我,这是我的错,而不是因为你太笨.我之所以说"30分钟",是为了让你有信心,有耐心继续下去.既然你看到了这里,那证明我的阴谋成功了.被忽悠的感觉很爽吧?</P>
<P>要投诉我,或者觉得我其实可以做得更好,或者有任何其它问题,欢迎来<A
href="http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html">我的博客</A>让我知道.</P>
<SCRIPT type=text/javascript>
//<![CDATA[
function getCSSRule(ruleName, deleteFlag) {
ruleName=ruleName.toLowerCase();
if (document.styleSheets) {
for (var i=0; i<document.styleSheets.length; i++) {
var styleSheet=document.styleSheets[i];
var ii=0;
var cssRule=false;
do {
if (styleSheet.cssRules) {
cssRule = styleSheet.cssRules[ii];
} else {
cssRule = styleSheet.rules[ii];
}
if (cssRule) {
if (cssRule.selectorText.toLowerCase()==ruleName) {
if (deleteFlag=='delete') {
if (styleSheet.cssRules) {
styleSheet.deleteRule(ii);
} else {
styleSheet.removeRule(ii);
}
return true;
} else {
return cssRule;
}
}
}
ii++;
} while (cssRule)
}
}
return false;
}
function killCSSRule(ruleName) {
return getCSSRule(ruleName,'delete');
}
function addCSSRule(ruleName) {
if (document.styleSheets) {
if (!getCSSRule(ruleName)) {
if (document.styleSheets[0].addRule) {
document.styleSheets[0].addRule(ruleName, null,0);
} else { // Browser is IE?
document.styleSheets[0].insertRule(ruleName+' { }', 0);
}
}
}
return getCSSRule(ruleName);
}
//]]>
</SCRIPT>
<H2 id=resources>网上的资源及本文参考文献</H2>
<UL>
<LI><A
href="http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/jscript7/html/jsreconintroductiontoregularexpressions.asp">微软的正则表达式教程</A>
<LI><A
href="http://msdn2.microsoft.com/zh-cn/library/system.text.regularexpressions.regex.aspx">System.Text.RegularExpressions.Regex类(MSDN)</A>
<LI><A href="http://www.regular-expressions.info/">专业的正则表达式教学网站(英文)</A>
<LI><A
href="http://weblogs.asp.net/whaggard/archive/2005/02/20/377025.aspx">关于.Net下的平衡组的详细讨论(英文)</A>
<LI><A href="http://www.oreilly.com/catalog/regex2/">Mastering Regular
Expressions (Second Edition)</A> </LI></UL>
<H2 id=updatelog>更新说明</H2>
<OL>
<LI>2006-3-27 第一版
<LI>2006-10-12 第二版
<UL>
<LI>修正了几个细节上的错误和不准确的地方
<LI>增加了对处理中文时的一些说明
<LI>更改了几个术语的翻译(采用了MSDN的翻译方式)
<LI>增加了平衡组的介绍
<LI>放弃了对The Regulator的介绍,改用Regex Tester </LI></UL>
<LI>2007-3-12 V2.1
<UL>
<LI>修正了几个小的错误
<LI>增加了对处理选项(RegexOptions)的介绍 </LI></UL>
<LI>2007-5-28 V2.2
<UL>
<LI>重新组织了对零宽断言的介绍
<LI>删除了几个不太合适的示例,添加了几个实用的示例
<LI>其它一些微小的更改 </LI></UL>
<LI>2007-8-3 V2.21
<UL>
<LI>修改了几处文字错误
<LI>修改/添加了对$,\b的精确说明
<LI>承认了作者是个骗子
<LI>给RegexTester添加了Singleline选项的相关功能 </LI></UL>
<LI>2008-4-13 v2.3
<UL>
<LI>调整了部分章节的次序
<LI>修改了页面布局,删除了专门的参考节
<LI>针对读者的反馈,调整了部分内容 </LI></UL></LI></OL>
<DIV id=EntryTag>Tag标签: <A
href="http://www.cnblogs.com/deerchao/tag/æ­£å表达å¼/">正则表达式</A>,<A
href="http://www.cnblogs.com/deerchao/tag/æç¨/">教程</A>,<A
href="http://www.cnblogs.com/deerchao/tag/Regex/">Regex</A></DIV>
<P class=postfoot>posted on 2006-08-24 22:04 <A
href="http://deerchao.cnblogs.com/">deerchao</A> 阅读(9548) <A
href="http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html#Post">评论(343)</A>
<A
href="http://www.cnblogs.com/deerchao/admin/EditPosts.aspx?postid=485715">编辑</A>
<A href="http://www.cnblogs.com/deerchao/AddToFavorite.aspx?id=485715">收藏</A>
</P></DIV><IMG height=1
src="正则表达式30分钟入门教程 - deerchao的blog - 博客园.files/485715.jpg" width=1> <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html"
dc:identifier="http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html"
dc:title="正则表达式30分钟入门教程"
trackback:ping="http://www.cnblogs.com/deerchao/services/trackbacks/485715.aspx" />
</rdf:RDF>
-->
<DIV id=AjaxHolder_UpdatePanel1><A name=pagedcomment></A>
<DIV id=AjaxHolder_Comments_TopPager
style="MARGIN-TOP: 10px; MARGIN-RIGHT: 10px; TEXT-ALIGN: right">
<STYLE>.pager {
TEXT-ALIGN: right
}
</STYLE>
<DIV class=pager>评论共2页: 1 <A
href="http://www.cnblogs.com/deerchao/archive/2006/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -