一江春水向东流
做一个有思想的人,期待与每一位热爱思考的人交流,您的关注是对我最大的支持。
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
44 随笔 :: 139 文章 :: 81 评论 :: 0 Trackbacks
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(12)
给我留言
查看公开留言
查看私人留言
随笔分类
(23)
职业生涯(1)
(rss)
心得感想(7)
(rss)
文章收藏(6)
(rss)
生活(9)
(rss)
随笔档案
(42)
2012年6月 (1)
2011年1月 (2)
2009年3月 (1)
2008年11月 (2)
2008年10月 (2)
2008年7月 (1)
2008年5月 (4)
2008年4月 (2)
2008年2月 (2)
2007年7月 (1)
2007年6月 (1)
2007年5月 (3)
2007年4月 (2)
2007年1月 (5)
2006年12月 (5)
2006年11月 (8)
文章分类
(162)
C/C++(27)
(rss)
gis开发
(rss)
HOBBIS
(rss)
Java/j2me/j2ee开发(1)
(rss)
Javascript,css,AJAX等浏览器前台效果(9)
(rss)
linux/UNIX 应用开发(26)
(rss)
linux内核,驱动(4)
(rss)
LINUX配置,shell(17)
(rss)
PHP+MySQL开发(29)
(rss)
python(1)
(rss)
svg,flex
(rss)
TCP/IP 开发(8)
(rss)
win32(6)
(rss)
互联网(3)
(rss)
企业管理(3)
(rss)
分布式系统
(rss)
加密解密
(rss)
嵌入式开发(1)
(rss)
应用技巧(2)
(rss)
开源数据库学习研究(13)
(rss)
情感生活(2)
(rss)
电信服务技术(2)
(rss)
算法及数据结构(5)
(rss)
网络安全,防火墙技术(3)
(rss)
设计模式
(rss)
文章档案
(139)
2012年6月 (2)
2011年1月 (2)
2009年9月 (1)
2009年6月 (1)
2009年4月 (4)
2009年2月 (1)
2008年12月 (6)
2008年11月 (4)
2008年10月 (3)
2008年9月 (1)
2008年6月 (3)
2008年5月 (12)
2008年4月 (12)
2008年3月 (24)
2008年2月 (6)
2008年1月 (9)
2007年12月 (3)
2007年11月 (4)
2007年10月 (1)
2007年8月 (3)
2007年7月 (5)
2007年6月 (1)
2007年5月 (10)
2007年4月 (11)
2007年3月 (3)
2007年1月 (1)
2006年12月 (2)
2006年11月 (3)
2006年9月 (1)
新闻档案
(10)
2006年11月 (10)
相册
个人相片
我的图片收藏
文章图片
收藏夹
(3)
技术文章(3)
(rss)
文章收集
FireBird 1.5 Quick Start(快速入门)简体中文
PF_PACKET 相关基础知识
搜索
最新评论
1. re: 探讨C语言中的回调函数
这个不是函数指针吗,怎么成了回调函数
--re
2. re: 探讨C语言中的回调函数
我也觉得是这样@游客
--zl
3. re: 利用ajax实现无刷新更新数据[未登录]
sdgvs
--aaaa
4. re: 探讨C语言中的回调函数[未登录]
讲解比较清晰 尽管例子中有两处函数指针的错误,还是有可取之处
--panpan
5. re: 探讨C语言中的回调函数[未登录]
评论内容较长,点击标题查看
--jack
阅读排行榜
1. boa下cgi的编写总结(6915)
2. 终于把uClinux内核编译出来了(2585)
3. 公交站点信息查询的数据库设计(1562)
4. 自己编译简单的WEB服务器,练习makefile编写(1478)
5. 独家发布多核CPU性能测试程序(1194)
评论排行榜
1. boa下cgi的编写总结(11)
2. 公交站点信息查询的数据库设计(6)
3. 开题报告答辩,失望(3)
4. 独家发布多核CPU性能测试程序(2)
5. 看看我是怎么认识女孩子的!(2)
[导入]正则表达式--JavaScript 实现基础
作者:
Flyingis
正则表达式用来从某一段字符串中匹配所需要的字符,这些字符可以非常简单,也可以非常复杂。JavaScript生来就对正则表达式有着良好的支持,在网络的字符搜索匹配中发挥着重要的作用。
JavaScript通过RegExp类来支持正则表达式,举一个最简单的例子:
var
regApple
=
new
RegExp(
"
apple
"
);
它可以匹配一个字符串中出现的第一个"apple"字符串,并且对大小写敏感。在构造方法中加入第二个参数"g"则代表的搜索出字符串中所有的"apple",这里"g"代表"global"。如果第二个参数为"i",则代表着case-insensitive,匹配过程中将不考虑字母的大小写。将上述两者综合起来,可以搜索出所有"apple"字符串,并且不考虑大小写问题。
var
regApple
=
new
RegExp(
"
apple
"
,
"
gi
"
);
正则表达式有着并不唯一的表示方法,使用Perl语言中的语法,可以将上述表达式表示为:
var
regApple
=
/
apple
/
gi;
创建了一个RegExp对象后,RegExp的方法可以构造出不同的匹配方式,因为正则表达式是对字符串进行的操作,所以String的一些方法在构造正则表达式的过程中也扮演着重要角色。
RegExp对象的方法
var
sampleString
=
"
Greenapple
"
;
var
regApple
=
/
apple
/
;
alert(regApple.test(sampleString));
上面代码输出的结果是"true",因为sampleString中包含了需要匹配的字符串"apple",这是最简单的检测方式。有时,我们需要知道匹配的详细结果,例如:
var
sampleString
=
"
green apples, red apples
"
;
var
regApple
=
/
apple
/
g;
var
arr
=
regApple.exec(sampleString);
通过使用exec()方法,返回的arr是关于匹配结果的一个数组,包括每一个匹配的值及其所在的段,例如上例中是"green apples"还是"red apples"。match()方法有着和exec()相同的功能,只是表达方式不同:
var
sampleString
=
"
green apples, red apples
"
;
var
regApple
=
/
apple
/
g;
var
arr
=
sampleString.match(regApple);
search()方法和indexOf()比较类似,返回第一个匹配的字符串所在的位置:
var
sampleString
=
"
green apples, red apples
"
;
var
regApple
=
/
apple
/
gi;
alert(sampleString.search(regApple));
//
输出"6"
String的方法
String的replace()方法可以将指定的字符串替换为另一个字符串:
var
sampleString
=
"
There is a green apple.
"
;
alert(sampleString.replace(
"
green
"
,
"
red
"
));
//
输出"There is a red apple."
将replace()的第一个参数替换为一个正则表达式,可以达到同样的效果:
var
sampleString
=
"
There is a green apple.
"
;
var
regApple
=
/
green
/
;
alert(sampleString.replace(regApple,
"
red
"
));
//
输出"There is a red apple."
replace()的第二个参数可以替换为一个function(),该function()接受一个匹配字符串作为参数,返回一个替换字符串。(存在疑问)
使用正则表达式可以实现String的split()方法相同的功能。
var
fruit
=
"
apple,pear,lemon
"
;
var
arr
=
fruit.split(
"
,
"
);
使用正则表达式:
var
fruit
=
"
apple,pear,lemon
"
;
var
reg
=
/
\,
/
;
var
arr
=
fruit.split(reg);
以上这些都是JavaScript正则表达式最基本的一些特性,实现了一些最基本的功能,这些都不是正则表达式真正的强大之处,在作者接下来的随笔中会继续介绍。
Flyingis
2006-08-10 21:04
发表评论
文章来源:
http://www.blogjava.net/flyingis/archive/2006/08/10/62858.html
posted on 2006-11-30 22:41
allic
阅读(96)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
Powered by:
BlogJava
Copyright © allic