正则表达式中特殊符号及正则表达式的几种方法总结(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开源框架-jQuery使用手册(1)
Mar 10 Javascript
javascript 动态生成私有变量访问器
Dec 06 Javascript
理解Javascript_10_对象模型
Oct 16 Javascript
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
Jan 13 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
Apr 06 Javascript
jQuery垂直多级导航菜单代码分享
Aug 18 Javascript
怎么引入(调用)一个JS文件
May 26 Javascript
详细谈谈javascript的对象
Jul 31 Javascript
JavaScript ES6中CLASS的使用详解
Nov 22 Javascript
十大热门的JavaScript框架和库
Mar 21 Javascript
详解AngularJS1.x学习directive 中‘&amp; ’‘=’ ‘@’符号的区别使用
Aug 23 Javascript
动手写一个angular版本的Message组件的方法
Dec 16 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
风格模板初级不完全修改教程
2006/10/09 PHP
php中并发读写文件冲突的解决方案
2013/10/25 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
js给onclick事件赋值,动态传参数实例解说
2013/03/28 Javascript
jQuery.Validate验证库的使用介绍
2013/04/26 Javascript
js 用CreateElement动态创建标签示例
2013/11/20 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
Javascript优化技巧之短路表达式详细介绍
2015/03/27 Javascript
微信企业号开发之微信考勤Cookies的使用
2015/09/11 Javascript
javascript解决小数的加减乘除精度丢失的方案
2016/05/31 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
Vue中通过vue-router实现命名视图的问题
2020/04/23 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
python实现的希尔排序算法实例
2015/07/01 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
Python使用reportlab模块生成PDF格式的文档
2019/03/11 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
python 变量初始化空列表的例子
2019/11/28 Python
Python常用库大全及简要说明
2020/01/17 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
邓小平理论心得体会
2014/09/09 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python