Rumah >hujung hadapan web >tutorial js >JS的正则表达式如何使用

JS的正则表达式如何使用

php中世界最好的语言
php中世界最好的语言asal
2018-03-13 18:11:091801semak imbas

这次给大家带来JS的正则表达式如何使用,使用JS正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下。

学好正则表达式很重要,下面是一些关于正则表达式的基本知识整理

\  : 转义字符

^  : 匹配字符串开始位置

$  : 匹配字符串结束位置

*  : 匹配前面的表达式任意次

+  : 匹配前面的表达式一次或多次

?  : 匹配前面的表达式零次或一次

{n}  : 匹配确定的n次,n为非负整数

{n,}  : 匹配至少n次,n为非负整数

{n,m} : 匹配至少n次,至多m次,n和m均为非负整数且n<=m

(*,+,{n,m})?  : 非贪婪匹配模式,尽可能少的匹配,例如“z+”可以匹配“zzzzz”,“z+?”只匹配到“z”

.  : 匹配除\r\n外任何单个字符

(pattern)  : 匹配pattern,并获取匹配,可以获取匹配到的结果,用\1-\9表示,例如“(o)”匹配到“o”,“(o)\1”匹配到“oo”,“(\d{3})\1”匹配到“123123”,不能匹配到“123456”

(?:pattern)  : 非获取匹配,匹配pattern,但不获取匹配结果

(?=pattern) : 非获取匹配,正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用,例如“test(?=123)”能匹配“test123”中的“test”,但不能匹配“test456”中的“test”

(?!pattern)  : 非获取匹配,正向否定预查,在任何匹配pattern的字符串开始处匹配查找字符串,该匹配不需要获取供以后使用,例如“test(?=123)”能匹配“test456”中的“test”,但不能匹配“test123”中的“test”

(?<=pattern)  : 非获取匹配,反向肯定预查,和正向肯定预查类似,方向相反,例如“(?<=123)test”能匹配“123test”中的“test”,但不能匹配“456test”中的“test”

(?

x|y  : 匹配x或y

[xyz]  : 匹配包含的任意一个字符

[^xyz]  : 匹配未包含的任意字符

\b  : 匹配一个单词边界,例如“on\b”能匹配“location”中的“on”,不能匹配到“component”中的“on”

\B  : 匹配非单词边界,例如“on\B”能匹配到“component”中的“on”,不能匹配到“location”中的“on”

\d  : 匹配一个数字字符

\D  : 匹配非数字字符

\s  : 匹配任何不可见字符,相当于[\f\n\r\t\v]

\S  : 匹配任何可见符,相当于[^\f\n\r\t\v]

学好正则不仅可以帮助我们减少代码量,还能解决很多复杂的需求,所以先打好基础才能向高阶攀爬

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

Javascript的单例模式

flex布局详解

Javascript的观察者模式

Javascript的代理模式

Atas ialah kandungan terperinci JS的正则表达式如何使用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Javascript的单例模式Artikel seterusnya:Angular和Vue.js对比分析