正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)


Posted in Javascript onNovember 26, 2013

一 正则表达式的正文。
正则表达式中使用了特殊符号。下面我就将各种符号以及其意义和用法简单的介绍一下(说明:"X以上包括X"):

/ 表示在其后的文字是特殊符号。例:"n"和"n"是一致的。"/n"和换行符是一致的。
^ 和输入的开始一致。
$ 和输入的结尾一致。
* 与此符号之前的文字0次以上相同的话,两者一致。例:"zo*"和"zoo","z"都一致。
+ 与此符号之前的文字1次以上相同的话,两者一致。例:"zo*"和"zoo"一致,但和"z"不一致。
? 与此符号之前的文字0次或1次相同的话,两者一致。例:"a?ve?"和"never"的"ve"一致。
. 与除了换行符的所有单一文字一致。
(正则表达式) 以所指定的表达式寻找一致文字。如果找到了,储存下来。一致的部分可以从
Match方法获得的阵列中找到。
x|y x和y的任意一方相同都会被认为一致。例:"(z|f)ood"和"zood","food"都一致。
{n} n是0以上的整数。与其前的文字n次相同的话,两者一致。例:"o{2}"和"Bob"中的"o"不一
致,与"foooood"中的前两个"o"一致。
{n,} n是0以上的整数。与其之前的文字至少n次相同才一致。
{n,m} 两者整数。n至m范围的次数一致。
[xyz] 与中括号中的文字任意一个相同都被认为一致。
[^xyz] 与上面的相反。
[a-z] 文字的范围,从"a"到"z"的文字都被认为一致。
[^a-z] 与上面的相反。
/b 表示单词的末尾。例:"er/b"和"never"的"er"一致,但和"verb"的"er"不一致。
/B 表示非单词的末尾。
/d 表示数字。
/D 表示非数字。
/s 表示空格。
/S 表示非空格。
/w 表示所有字母数字。
/W 表示非所有字母数字。

   i   (忽略大小写)  
  g   (全文查找出现的所有   pattern)  
  gi   (全文查找、忽略大小写)
/num num应该被赋予一个正数。与已经储存的部分比较。例:"(.)/1"和任意的两个连续的相同
文字一致。

二 如何定义一句正文:
方法一:直接写
var s=/正则表达式/i或g或ig

方法二:建立对象实例:
var s=new RegExp(正则表达式,i或g或ig)

三 与正则表达式有关的方法:

1 exec方法
描述: 在制定的文字行内进行搜索。
结构: 正则表达式.exec(字符串)。
解说: 检索的返回:
null 没有检索到;
一致的结果 检索到后;
例:
代码片段如下:
<script>
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp'
var r=new RegExp('g','i');
var a=r.exec(s);
alert(a);
</script>

2 compile方法:
描述: 修改正则表现的内部形式。
结构: 正则表达.compile('正文','g或i或ig')。
解说: 没什么好说的。
例:
代码片段如下:
<script>
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp'
var r=new RegExp('[A-Z]','g');
var a=s.match(r);
alert(a);
r.compile('[a-z]','g');
var a=s.match(r);
alert(a);
</script>

3 test方法:
描述: 顾名思义,做测验。
结构: 正则表达.test(字符串)。
解说: 返回:
false 没找到;
true 找到了;
例:
代码片段如下:
<script>
var re=/re/g;
var msg='return';
var msg1='goon';
alert(re.test(msg));
alert(re.test(msg1));
</script>

4 replace方法:
描述: 寻找一致的并置换他。
结构: 字符串.replace(正则表达,替换字符串)。
解说: 与字符串不变化,返回其副本。
例:
代码片段如下:
<script>
var s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp'
var r=new RegExp('[A-Z]','g');
var a=s.replace(/[a-z]/g,'A');
alert(a);
</script>

5 match方法:
描述: 实行检索。
结构: 字符串.match(正则表达)。
解说: 返回数列。
例:
代码片段如下:
<script>
var re=/re/g;
var msg='rererere';
var msg1='goon';
alert(msg.match(re));
alert(msg1.match(re));
</script>

6 split方法:
描述: 分割字符串。
结构: 字符串.split(正则表达)。
解说: 返回数列。
例:
代码片段如下:
<script>
var s="hello this good world";
var p=//s/g;
var a=s.split(p);
alert(a);
</script>

7 search方法:
描述: 返回一致的字符串的位置。(这比indexOf可用途广多了!)
结构: 字符串.search(正则表达)。
解说: 返回
正整数 如果找到了
-1 如果没找到
例:
代码片段如下:
<script>
var s="hello this good world";
var p=/good/g;
var a=s.search(p);
alert(a);
</script>

把replace的方法的例子改一下:
代码片段如下:
<script>
var s="hellOSCF";
var r=new RegExp("[A-Z]","g");
s=s.replace(r,"a");
alert(s)
</script>

最后是他的各种属性

1 lastIndex属性:
描述: 设定检索开始的位置,可以得到其值
结构: 正则表达.lastIndex(=值).
解说:
当lastIndex大于检索文字长度的时候,如果用test,exec方法执行的话,执行失败,
lastIndex属性被设定为0.
当lastIndex等于检索文字长度的时候,如果表达式正文是空的话,一致.其他场合,
执行失败,重设为0.
上记以外的情况,lastIndex会被设定为最后一致的文字列的位置指针.

2 source属性
描述: 返回正则表达的正文
结构: 正则表达.source
例:
代码片段如下:
<script>
var s=/[a-z]{3}/W/s/g;
var s1=new RegExp("[a-z]{3}/W","g");
alert(s.source);
alert(s1.source);
</script>

下面我将几个处理字符函数写出来:

1 严禁数字
代码片段如下:
function check(msg){
var exe=//d/g;
if(exe.test(msg))return(0);
else return(1)
}

2 只准字母
代码片段如下:
function check(msg){
var exe=//W/g;
if(exe.test(msg))return(0);
else return(1);
}

3 严禁代码
代码片段如下:
function check(msg){
var exe=/<(/w|/W)*>/g;
if(exe.test(msg))return(0);
else return(1);

Javascript 相关文章推荐
为指定元素增加样式的js代码
Dec 09 Javascript
jquery.jstree 增加节点的双击事件代码
Jul 27 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 Javascript
谷歌地图打不开的解决办法
Aug 07 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
Apr 16 Javascript
在Vue中如何使用Cookie操作实例
Jul 27 Javascript
react-native-tab-navigator组件的基本使用示例代码
Sep 07 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
Dec 22 Javascript
JS中的事件委托实例浅析
Mar 22 Javascript
Js经典案例的实例代码
May 10 Javascript
angular 服务的单例模式(依赖注入模式下)详解
Oct 22 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
Dec 28 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
Nov 25 #Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
Nov 25 #Javascript
ie与ff下的event事件使用介绍
Nov 25 #Javascript
javascript利用apply和arguments复用方法
Nov 25 #Javascript
javascript模拟实现C# String.format函数功能代码
Nov 25 #Javascript
js给onclick赋值传参数的两种方法
Nov 25 #Javascript
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 #Javascript
You might like
php+xml结合Ajax实现点赞功能完整实例
2015/01/30 PHP
CI框架文件上传类及图像处理类用法分析
2016/05/18 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
ThinkPHP简单使用memcache缓存的方法
2016/11/15 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
PHP的介绍以及优势详细分析
2019/09/05 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
纯javascript制作日历控件
2015/07/17 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
优化Python代码使其加快作用域内的查找
2015/03/30 Python
Python中的两个内置模块介绍
2015/04/05 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
python名片管理系统开发
2020/06/18 Python
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
和谐家庭演讲稿
2014/05/24 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
收款授权委托书
2014/10/02 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
大学生受助感言
2015/08/01 职场文书
四年级作文之说明文作文
2019/10/14 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书