⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0330regularex.htm

📁 鸟哥的linux私房菜
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
	>
<html lang="zh-TW">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=gb2312" >
	<meta name="Author" content="VBird, 鸟哥" >
	<meta name="Description" content="介绍正规表示法的应用与相关技巧" >
	<title>鸟哥的 Linux 私房菜 -- 正规表示法</title>
	<style type="text/css">
	 	body {
			background-color: #D3D3D3;
			color: #000000;
			background-attachment:fixed ;
		}
				body,th,td,input,select,textarea,select,checkbox {
			font-family: '新细明体', 'Times New Roman', serif;
			font-size: 11pt ;
		}
		a:link		{text-decoration: none; color: blue}
		a:visited	{text-decoration: none; color: blue}
		a:active	{text-decoration: none; color: blue}
		a:hover		{text-decoration: underline; color: #ff0000}
				table.head1	{width:100%; background-color: #FFCCCC; 
				 border-style:groove;border-width:5px;border-color: #FFCCCC; margin:0;
				 padding: 5px 5px}
		   		   td.head1	{font: 10pt "新细明体", serif; color: #000099; }
		   		   td.info1	{font: 11pt "新细明体", serif; color: #000066; text-align:center; width:14%}
		   td.info2	{font: 11pt "新细明体", serif; color: #000066; text-align:center; width:12%}
		    *.info21	{font: 11pt "新细明体", serif; color: #000066; }
		    *.info22	{font: 11pt "新细明体", serif; color: blue  ; }
		    *.info23	{font: 11pt "新细明体", serif; color: green ; }
		   td.info3	{font: 11pt "新细明体", serif; color: #000066; text-align:justify}
				*.text_head0	{font-size:18pt; font-family:'标楷体','Times New Roman','Times', serif; }
		*.text_head_en	{font-size:18pt; font-family:'Times New Roman','Times', serif; }
				*.text_h1	{font: 15pt "新细明体", serif; color: #0000BB; font-weight: bold }
				*.text_h2	{font: 13pt "新细明体", serif; color: #0000BB; font-weight: bold }
				*.text_import1	{font:  11pt "新细明体", serif; color: #000088; font-weight: bold  }
		*.text_import2	{font:  11pt "新细明体", serif; color: #000088; font-weight: normal}
		*.text_vbird	{font:  11pt "新细明体", serif; color: #000088; font-weight: normal; 
				 font-style: italic;}
		*.text_history	{font:  10pt "新细明体", serif; color: #000066; }
		*.text_date	{font:  10pt "新细明体", serif; color: #3333FF; }
				*.block1	{padding: 10px 20px 10px 25px; text-align:left }
				*.block2	{padding: 10px 0px  10px 25px; text-align:left }
	    table.term2		{width: 350px; background-color: #000000;
				 border-style:groove;border-width:3px;border-color: #FFCCCC; margin:10px 0px;}
	    	    table.term		{width: 580px; background-color: #000000;
				 border-style:groove;border-width:3px;border-color: #FFCCCC; margin:10px 0px;}
	       	       td.term		{font:  10pt "细明体", Fixedsys, serif; color: #FFFFFF; }
		*.term_hd	{font:  10pt "细明体", Fixedsys, serif; color: #BBBBBB; }
		*.term_note	{font:  10pt "细明体", Fixedsys, serif; color: #777777; font-weight: normal }
		*.term_note_b	{font:  10pt "细明体", Fixedsys, serif; color: #FF77FF; font-weight: bolder }
		*.term_command	{font:  10pt "细明体", Fixedsys, serif; color: yellow ; font-weight: bolder }
		*.term_write	{font:  10pt "细明体", Fixedsys, serif; color: yellow ; font-weight: normal }
		*.term_say	{font:  10pt "细明体", Fixedsys, serif; color: #FF6666; font-weight: normal }
	</style>
	
</head>
<body style="margin:0; padding:0">
<center>


<!-- 这里是关于页首按钮处的按钮程式 -->
<div style="text-align:center">
<span style="font-weight:bolder; color:#3333FF"><span class="text_head0">鸟哥的<span class="text_head_en"> 
	Linux </span>私房菜</span></span><br />
<span style="color:#000080">为取得较佳浏览结果,请爱用 <a href="http://moztw.org" target="_blank">firefox</a>
	浏览本网页</span><br />
<a href="http://linux.vbird.org/" target="_blank"
	onmouseover="document.head_icon1.src='../images/icon_VBird_on.jpg'"
	onfocus="document.head_icon1.src='../images/icon_VBird_on.jpg'"
	onmouseout="document.head_icon1.src='../images/icon_VBird_off.jpg'">
	<img alt="前往鸟哥的 Linux 私房菜馆首页" title="前往鸟哥的 Linux 私房菜馆首页" name="head_icon1"
		src="../images/icon_VBird_off.jpg" border="0" /></a>
<a target="_blank" href="http://linux.vbird.org/linux_basic"
	onmouseover="document.head_icon2.src='../images/icon_basic_on.jpg'"
	onfocus="document.head_icon2.src='../images/icon_basic_on.jpg'"
	onmouseout="document.head_icon2.src='../images/icon_basic_off.jpg'">
	<img src="../images/icon_basic_off.jpg" border="0" 
		alt="前往 Linux 基础文件,新手请从头学起" 
		title="前往 Linux 基础文件,新手请从头学起" name="head_icon2" /></a>
<a target="_blank" href="http://linux.vbird.org/linux_server"
	onmouseover="document.head_icon3.src='../images/icon_server_on.jpg'"
	onfocus="document.head_icon3.src='../images/icon_server_on.jpg'"
	onmouseout="document.head_icon3.src='../images/icon_server_off.jpg'">
	<img src="../images/icon_server_off.jpg" border="0"
		alt="前往 Linux 架站文件,网路基础那章节请务必参考!" 
		title="前往 Linux 架站文件,网路基础那章节请务必参考!" name="head_icon3" /></a>
<a target="_blank" href="http://linux.vbird.org/linux_security"
	onmouseover="document.head_icon4.src='../images/icon_security_on.jpg'"
	onfocus="document.head_icon4.src='../images/icon_security_on.jpg'"
	onmouseout="document.head_icon4.src='../images/icon_security_off.jpg'">
	<img src="../images/icon_security_off.jpg" border="0"
		alt="前往『网路安全』相关文件网页" title="前往『网路安全』相关文件网页" name="head_icon4" /></a>
<a href="http://phorum.vbird.org" target="_blank"
	onmouseover="document.head_icon5.src='../images/icon_forum_on.jpg'"
	onfocus="document.head_icon5.src='../images/icon_forum_on.jpg'"
	onmouseout="document.head_icon5.src='../images/icon_forum_off.jpg'">
	<img src="../images/icon_forum_off.jpg" border="0"
		alt="前往 Linux 新手讨论区,发问前务必查阅发文规则" 
		title="前往 Linux 新手讨论区,发问前务必查阅发文规则" name="head_icon5" /></a>
<a target="_blank" href="http://linux.vbird.org/adsl"
	onmouseover="document.head_icon6.src='../images/icon_adsl_on.jpg'"
	onfocus="document.head_icon6.src='../images/icon_adsl_on.jpg'"
	onmouseout="document.head_icon6.src='../images/icon_adsl_off.jpg'">
	<img src="../images/icon_adsl_off.jpg" border="0"
		alt="前往『ADSL连线分享』相关文件网页" title="前往『ADSL连线分享』相关文件网页" name="head_icon6" /></a>
<a href="http://www.study-area.org" target="_blank"
	onmouseover="document.head_icon7.src='../images/icon_study-area.jpg'"
	onfocus="document.head_icon7.src='../images/icon_study-area.jpg'"
	onmouseout="document.head_icon7.src='../images/icon_study-area.jpg'">
	<img src="../images/icon_study-area.jpg" border="0"
		alt="前往 Study Area 网站" title="前往 Study Area 网站" name="head_icon7" /></a>
<br />
</div>


<table summary="本文内容的排版" style="width:750px; 
	background-image:url('../images/VBirdLinux.jpg');
	background-attachment:fixed;" border="0" cellspacing="0" cellpadding="0">
<tr><td style="width:16px; height:16px; background-image:url('../images/border-top-left.jpg'); 
	font-size:6px">  </td>
    <td style="width:718px; height:16px; font-size:6px;
	background-image:url('../images/border-top-center.jpg')">  </td>
    <td style="width:16px; height:16px; background-image:url('../images/border-top-right.jpg');
	font-size:6px">  </td></tr>
<tr><td style="width:16px; font-size:6px;
	background-image:url('../images/border-middle-left.jpg')">  </td>
    <td width="718">

<!-- 本文的档头部分 -->
<div style="text-align:center">
    <a href="0330regularex.php">
    <span class="text_head0">正规表示法<span class="text_head_en"> Regular Expression, RE</span></span></a><br />
</div>
    <div style="text-align:left">
        <a href="0330regularex.php?thisscreen=800x600"><!--切换解析度为 800x600--></a>
    </div>
    <div style="text-align:right">
        <span class="text_history">最近更新日期∶2006/10/05</span>
    </div>

<!-- 本文的档头部分 -->
<table class="head1" summary="排版∶文章档头的说明"><tr><td class="head1">
	正规表示法(或称为常规表示法)是透过一些特殊字元的排列,用以 搜寻/取代/删除 一列或多列文字字串,
	简单的说,正规表示法就是用在字串的处理上面的一项『表示式』。正规表示法并不是一个工具程式,
	而是一个字串处理的标准依据,如果您想要以正规表示法的方式处理字串,就得要使用支援正规表示法的工具程式才行,
	这类的工具程式很多,例如 vi, sed, awk 等等。<br><br>

	正规表示法对于系统管理员来说,实在是很重要。因为系统会产生很多的讯息,这些讯息有的重要,有的仅是告知,
	此时,管理员可以透过正规表示法的功能来将重要讯息撷取出来,并产生便于查阅的报表,简化管理流程。此外,
	很多的套装软体也都支援正规表示法的分析,例如邮件伺服器的过滤机制(过滤垃圾信件)就是很重要的一个例子。
	所以,您最好要了解正规表示法的相关技能,在未来管理主机时,才能够更精简处理您的日常事务!<br><br>

	注∶本章节使用者需要多加练习,因为目前很多的套件都是使用正规表示法来达成其『过滤、分析』的目的,
	为了未来主机管理的便利性,使用者至少要能看的懂正规表示法的意义!
</td></tr></table><br>

<!-- 本文的连结区部分 -->
<div class=block1>
<span class="text_h1">
1. <a href="#before">前言∶</a><br>
2. <a href="#basic_regexp">基础正规表示法∶</a><br>
	<span class="text_h2">
	    2.1 <a href="#grep">以 grep 撷取字串</a><br>
	    2.2 <a href="#basic_regexp_char">重要特殊字元(characters)</a><br>
	</span>
3. <a href="#extend">延伸正规表示法∶</a><br>
4. <a href="#printf">格式化列印∶ printf</a><br>
5. <a href="#sed">sed 工具简介</a><br>
6. <a href="#awk">awk 工具简介</a><br>
7. <a href="#doc">文件资料比对与列印的相关功能</a><br>
	<span class=text_h2>
	    7.1 <a href="#doc_compare">档案比对∶</a> <a href="#diff">diff</a>, <a href="#cmp">cmp</a>, 
		<a href="#patch">patch</a><br>
	    7.2 <a href="#pr">档案列印准备∶ pr</a><br>
	</span>
8. <a href="#important">重点回顾</a><br>
9. <a href="#reference">参考资源</a><br>
10.<a href="#FAQ">本章习题练习</a><br>
<span class=text_h2>
11. <a href="http://phorum.vbird.org/viewtopic.php?t=23885"
    target="_blank">针对本文的建议∶http://phorum.vbird.org/viewtopic.php?t=23885</a>
</span>
</span>
</div>

<!-- 本文的正式部分 -->
<hr><a NAME="before"></a><img src="images/penguin-m.gif" alt="大标题的图示" height="34" width="25" align="middle" /><span class="text_h1">前言</span><br>
<div class=block1>
	约略了解了 Linux 的基本指令 ( <a href="0320bash.php">Shell</a> ) 并且熟悉了
	<a href="0310vi.php">vi</a> 之后,相信您对于敲击键盘与指令比较不陌生了吧??
	接下来,底下要开始介绍一个很重要的观念,那就是所谓的『<span class="text_import2">正规表示法</span>』棉!<br><br>

	<hr><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">什么是正规表示法</span><br>
	<div class="block2">
		任何一个有经验的系统管理员,都会告诉您∶『<span class="text_import2">正规表示法真是挺重要的</span>!』
		为什么很重要呢?因为日常生活就使用的到啊!举个例子来说,
		在您日常处理文书作业时,应该会常常使用到『搜寻/取代』等等的功能吧?
		这些举动要作的漂亮,就是正规表示法的工作了!<br><br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -