w3school在线教程JS教程JS版本对象函数JS类JSAsyncJS建站手册
w3school 在线教程
JS 教程JS 版本JS 对象JS 函数JS 类JS AsyncJS HTML DOMJS Browser BOMJS Web APIJS AJAXJS JSONJS vs jQueryJS 实例JS 参考手册
建站手册关于 W3School帮助 W3School
JavaScript 正则表达式
正则表达式是构成搜索模式的字符序列。
该搜索模式可用于文本搜索和文本替换操作。
什么是正则表达式?
正则表达式是构成搜索模式(search pattern)的字符序列。
当您搜索文本中的数据时,您可使用搜索模式来描述您搜索的内容。
正则表达式可以是单字符,或者更复杂的模式。
正则表达式可用于执行所有类型的文本搜索和文本替换操作。
语法
<pre>/pattern/modifiers;</pre>
实例
<pre class="a href='https://www.veimoz.com/1402' title='js监听页面刷新 Opera:unbeforeunload事件执行的顺序在onunload' target='_blank'js/aHigh">var patt = /w3school/i;</pre>
例子解释:
/w3school/i 是一个正则表达式。
w3school 是模式(pattern)(在搜索中使用)。
i 是修饰符(把搜索修改为大小写不敏感)。
使用字符串方法
在 JavaScript 中,正则表达式常用于两个字符串方法:search() 和 replace()。
search() 方法使用表达式来搜索匹配,然后返回匹配的位置。
replace() 方法返回模式被替换处修改后的字符串。
使用字符串方法 search() 来处理字符串
search() 方法也接受字符串作为搜索参数。字符串参数将被转换为正则表达式:
实例
使用字符串来执行对 "W3school" 的搜索:
<pre class="jsHigh">
var str = "Visit W3School!";
var n = str.search("W3School");
</pre>
亲自试一试
在字符串方法 search() 中使用正则表达式实例
使用正则表达式执行搜索字符串中 "w3school" 的大小写不敏感的搜索:
<pre class="jsHigh">
var str = "Visit W3School";
var n = str.search(/w3school/i);
</pre>
n 中的结果将是:
<pre>6</pre>
亲自试一试
使用字符串方法 replace() 处理字符串
replace() 也接受字符串作为搜索参数:
<pre class="jsHigh">
var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "W3School");
</pre>
亲自试一试
在字符串方法 replace() 中使用正则表达式实例
使用大小写不明的正则表达式以 W3school 来替换字符串中的 Microsoft:
<pre class="jsHigh">
var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "W3School");
</pre>
res 的结果将是:
<pre>Visit W3School!</pre>
亲自试一试
您注意到了吗?
正则表达式参数(而不是字符串参数)可以在上面的方法中使用。
正则表达式可以使您的搜索更强大(例如,不区分大小写)。
正则表达式修饰符
修饰符可用于大小写不敏感的更全局的搜素:
修饰符描述试一试
i
执行对大小写不敏感的匹配。
试一试
g
执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
试一试
m
执行多行匹配。
试一试
正则表达式模式
括号用于查找一定范围的字符串:
表达式描述试一试
[abc]
查找方括号之间的任何字符。
试一试
[0-9]
查找任何从 0 至 9 的数字。
试一试
(x|y)
查找由 | 分隔的任何选项。
试一试
元字符(Metacharacter)是拥有特殊含义的字符:
元字符描述试一试
d
查找数字。
试一试
s
查找空白字符。
试一试
b
匹配单词边界。
试一试
uxxxx
查找以十六进制数 xxxx 规定的 Unicode 字符。
试一试
Quantifiers 定义量词:
量词描述试一试
n+
匹配任何包含至少一个 n 的字符串。
试一试
n*
匹配任何包含零个或多个 n 的字符串。
试一试
匹配任何包含零个或一个 n 的字符串。
试一试
使用 RegExp 对象
在 JavaScript 中,RegExp 对象是带有预定义属性和方法的正则表达式对象。
使用 test()
test() 是一个正则表达式方法。
它通过模式来搜索字符串,然后根据结果返回 true 或 false。
下面的例子搜索字符串中的字符 "e":
实例
<pre class="jsHigh">
var patt = /e/;
patt.test("The best things in life are free!");
</pre>
由于字符串中有一个 "e",以上代码的输出将是:
<pre>true</pre>
亲自试一试
您不必首先把正则表达式放入变量中。上面的两行可缩短为一行:
<pre class="jsHigh">/e/.test("The best things in life are free!");</pre>
使用 exec()
exec() 方法是一个正则表达式方法。
它通过指定的模式(pattern)搜索字符串正则表达式语法 js,并返回已找到的文本。
如果未找到匹配正则表达式语法 js,则返回 null。
下面的例子搜索字符串中的字符 "e":
实例
<pre class="jsHigh">/e/.exec("The best things in life are free!");</pre>
由于字符串中有一个 "e",以上代码的输出将是:
<pre>e</pre>
亲自试一试
完整的 RegExp 参考手册
发表评论
热门文章
Spimes主题专为博客、自媒体、资讯类的网站设计....
一款个人简历主题,可以简单搭建一下,具体也比较简单....
仿制主题,Typecho博客主题,昼夜双版设计,可....
用于作品展示、资源下载,行业垂直性网站、个人博客,....
热评文章
最新评论
Z.
11月29日
博主你好,Deng插件,这个点击不进去,提示这个(Warning: require_once(/www/wwwroot/w.zzy2020.com/usr/plugins/Deng/Deng/html/profile.php): failed to open stream: No such file or directory in /www/wwwroot/w.zzy2020.com/Fresh/extending.php on line 26
Fatal error: require_once(): Failed opening required '/www/wwwroot/w.zzy2020.com/usr/plugins/Deng/Deng/html/profile.php' (include_path='.:/www/server/php/72/lib/php') in /www/wwwroot/w.zzy2020.com/Fresh/extending.php on line 26)
点都德
3天前
:喷::喜欢::怒::黑线: