JavaScript 正则表达式 基础用法+案例

JavaScript基础用法及案例

  • 正则表达式语法
    • 修饰符
    • 方括号
    • 量词
    • 元字符
    • RegExp对象方法
    • 支持正则表达式的String对象的方法
  • 正则表达式使用案例
    • 正则匹配
      • 使用正则匹配子串str中的数字
      • 使用RegExp创建一个正则对象
      • 使用正则对象匹配的另一种方式
      • 匹配多次
    • 正则搜索
      • 使用正则搜索
      • 使用创建正则对象方式搜索
      • 使用test方法搜索
    • 正则拆分
      • 字符串方法拆分
      • 正则方法拆分
    • 正则替换
      • 正则表达式将分割符统一替换成逗号
      • 将\\替换成\\
      • 将西方日期格式替换成中国[年-月-日]格式

正则表达式语法

修饰符

i  大小写不敏感
g  全局匹配
m  多行匹配

方括号

[abc] 查找方括号之间的任何字符
[^abc]查找不在方括号之间的字符
[adgk]查找给定集合内的任何字符
[red|blue|green]查找任何指定的选项

量词

n{X} 匹配包含X个n的序列的字符串
n{X,Y}匹配包含X至Y个n的序列的字符串
n{X,}匹配包含至少包含X个n的序列的字符串
n+  匹配任何至少包含1个n的字符串
n*  匹配任何包含0个或多个n的字符串
n?  匹配任何包含0个或1个n的字符串
n$   匹配任何结尾为n的字符串
^n   匹配任何开头为n的字符串

元字符

\w 查找单词字符
\d 查找数字
\s 查找空白字符

RegExp对象方法

exec 检索字符串中指定的值,返回找到的值,并确定位置
test 检索字符串中指定的值,返回true或者false

支持正则表达式的String对象的方法

search()
match()
replace()
split()

正则表达式使用案例

正则匹配

var str = "qwer1234asdf";

匹配str字符串中的数字:

使用正则匹配子串str中的数字

	console.log(str.match(/[0-9]+/));

使用RegExp创建一个正则对象

	var pat = new RegExp("[0-9]+");
	console.log(str.match(pat));

使用正则对象匹配的另一种方式

 	var pat = new RegExp("[0-9]+");
	console.log(pat.exec(str));

匹配多次

console.log(str.match(/[0-9]+/g));//g修饰符匹配所有

正则搜索

var str = "qwer1234asdf"

使用正则搜索

console.log(str.search("/[0-9]+/"));//返回首次匹配位置,没有则返回-1

使用创建正则对象方式搜索

console.log(str.search(pat))); //用创建正则对象方式搜索

使用test方法搜索

console.log(pat.test(str)); //返回是否匹配 返回true或者false

正则拆分

字符串方法拆分

var str = "23:45:67";
console.log(str.split(":"));  //字符串拆分

正则方法拆分

str = "23:45,67";
console.log(str.split(/[^0-9]/)); // 正则拆分

正则替换

正则表达式将分割符统一替换成逗号

str = "23:45,67";
console.log(str.replace(/[^0-9]/g,","));

替换成

str = “aaabbb

console.log(str.replace(/(.*?)<\/b>/g,"$1"));
//.*是贪婪匹配 .*?是拒绝贪婪匹配
//$1 表示重复正则中第一个小括号中的内容

将西方日期格式替换成中国[年-月-日]格式

str = “09/05/2020”;
console.log(str.replace(/(\d{2})/(\d{2})/(\d{4})/,"$3-$1-$2"));
//其中$1,$2,$3表示重复正则中第一、第二、第三个小括号内容

你可能感兴趣的:(Java,JavaScript,字符串,正则表达式,java,js)