在web前端笔试中,总是会遇到这样的笔试题:

例如: 清除一个字符串的前后的空白的字符

(一)挥刀准备功夫

正则表达式的基本语法:

1、Start

正则表达式总是以斜线起始和结束。 /.../

2 元字符 :是用于构建正则表达式的符号(用于连接字母和数字,创建高度描述性的文本模式)

java 正则去掉最后 js正则去除首尾空格_java 正则去掉最后

java 正则去掉最后 js正则去除首尾空格_正则表达式_02

1 .       匹配任何字符,换行符除外。
2 \d     匹配任何数字字符。
3 \w     匹配任何字符数字(字母或数字)字符。
4 \s     匹配空格(空格包括空白字符、tab、换行符、return/enter)
5 ^      字符串需以模式起始。
6 $      字符串需以模式结束。
7 |       让模式指定一连串可供选择的子模式。

View Code

3 限定符 :控制子模式出现于正则表达式的次数

java 正则去掉最后 js正则去除首尾空格_java 正则去掉最后

java 正则去掉最后 js正则去除首尾空格_正则表达式_02

1 *      限定符前的子模式必须出现0或多次。
2 +      限定符前的子模式必须出现1或多次。
3 ?      限定符前的子模式必须出现0或1次。
4 {n}    限定符前的子模式必须出现恰好n次。

View Code

4 字符类 以方括号围起【】

例如:

//定义正则表达式匹配0-9
var pattern = /[0-9]/;

//定义正则表达式匹配数字0-9及字母a-z
var pattern = /[0-9a-z]/;

如果需要转义的话,注意加上\

下面上代码:

java 正则去掉最后 js正则去除首尾空格_java 正则去掉最后

java 正则去掉最后 js正则去除首尾空格_正则表达式_02

1   function ClearSpace(Str)
2         {
4             var tempStr=Str.replace(/(^\s*)|(\s*)$/g,"");
5             return tempStr;
6         }
7         console.debug((" my name is    hello world! ").length);
8         console.debug(ClearSpace(" my name is    hello world! ").length);

View Code

结果图如下:

java 正则去掉最后 js正则去除首尾空格_web前端 JS正则表达式_07

很明显可以看到 字符串的长度减少2 因为前后的空格已经被去掉;

解析:

var tempStr=Str.replace(/(^\s*)|(\s*)$/g,"");

首先调用了JS中String的replace的方法,

这个方法有两个参数

parm1:要替换的string或者正则表达式

Parm2:替换为的字符串,

返回值:替换后的字符串;

下面解析一下表达式:

看到分为两部分被“|”:表示前后两个子模可以选择 ,个人人为可以理解为    或   的意思;

(^\s*):^ 上面已经显示了属于元字符中的一个 代表字符串需以模式起始。

\s     匹配空格(空格包括空白字符、tab、换行符、return/enter)

右边的也是同样的道理,这样理解就ok了~~~

正则博大精深,还须一步步的走下去哇哇

以上纯属自己菜鸟的心得体会,与大家共勉,喜欢前端的小伙伴们,可以加我建的一个web前端交流群,目前就我一个群主 /(ㄒoㄒ)/~~群号:437866392