JavaScript:了解正则表达式

Posted QXXXD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript:了解正则表达式相关的知识,希望对你有一定的参考价值。

什么是正则表达式?
正则表达式是由一个字符序列形成的搜索模式。当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容;正则表达式可以是一个简单的字符,或一个更复杂的模式。可用于所有文本搜索和文本替换的操作。

语法

/正则表达式主体/修饰符(可选)

例:

var patt = /runoob/i
  • /runoob/i 是一个正则表达式。
  • runoob 是一个正则表达式主体 (用于检索)。
  • i 是一个修饰符 (搜索不区分大小写)。

常用正则表达式符号

符号说明
literal匹配字符串的值
.匹配任意一个字符(换行符\\n除外)
^匹配字符串的开始
$匹配字符串的结尾
[…]匹配[]中的任意一个字符
[x-y]匹配从字符x到y中的任意一个字符
[^…]不匹配此字符集中出现的任何一个字符
*匹配前面的正则表达式零次或多次
+匹配前面的正则表达式一次或多次
?匹配前面的正则表达式零次或一次
{N}匹配前面的正则表达式N次
{M,N}匹配前面的正则表达式M次到N次
()匹配()中的正则表达式,并保存为子组

特殊字符

特殊字符说明
\\d与[0-9]相同
\\D与[^0-9]相同
\\w与[A-Za-z0-9]相同
\\W与[^A-Za-z0-9]相同
\\s匹配任何空白字符,与[ \\n\\t\\r\\v\\f]相同
\\S与[^ \\n\\t\\r\\v\\f]相同

正则表达式修饰符

修饰符描述
i执行对大小写不敏感的匹配
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
m执行多行匹配

使用字符串方法
javascript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。

  • search() 方法 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
  • replace() 方法 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

search() 方法使用正则表达式

例:使用正则表达式搜索 “Runoob” 字符串,且不区分大小写:

var str = "Visit Runoob!"; 
var n = str.search(/Runoob/i);

search() 方法使用字符串
search 方法可使用字符串作为参数。字符串参数会转换为正则表达式:

例:检索字符串中 “Runoob” 的子串:

var str = "Visit Runoob!"; 
var n = str.search("Runoob");

replace() 方法使用正则表达式

例:使用正则表达式且不区分大小写将字符串中的 Microsoft 替换为 Runoob :

var str = document.getElementById("demo").innerhtml; 
var txt = str.replace(/microsoft/i,"Runoob");

replace() 方法使用字符串

例:replace() 方法将接收字符串作为参数:

var str = document.getElementById("demo").innerHTML; 
var txt = str.replace("Microsoft","Runoob");

以上是关于JavaScript:了解正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 正则表达式提取字符串?

JavaScript中 正则表达式的使用 及 常用正则表达式

Javascript 清理 URL 正则表达式

JavaScript正则表达式的学习

JavaScript中的正则表达式

JavaScript中的正则表达式(终结篇)