正则表达式使用集锦

前端之家收集整理的这篇文章主要介绍了正则表达式使用集锦前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


正则表达式的使用是一直是一个另人头痛的问题,因其语法和使用规则没有很强的规范,也因没有系统的学习过,只是工作中需要到了才拿来用一下。

现在把用到的点拿来备注一下,不用到时候用的时候再重新学习了。


1.正则表达式中匹配特定的字符结尾

在做url 跳转时需要把一个url 地址跳转到一个指定的文件

当目录中含有 /1001/ 且以/1001/结尾时,这里的1001只是把数字具体化了,这样看起来更通俗易懂。

这时的url 可能会是 http://www.yitire.com/1001/ 这时候需要跳转http://www.yitire.com/dealer/index.PHP

正则表达式就可以写成/([0-9]+)/$ 如下图所示,只会匹配到 最后出现 /1001/ 处,凡是url 中不是以/1001/ 结尾的都不会匹配到。

2.正则表达式中只能出现特定的字符串

当做网站 地跳转时,可能在访问某些目录时是禁止跳转的,这时就需要在正则表达式中指定,当遇到这些路径时需要路过

只在需要的目录下做跳转

eg. 当只需要在路径中含有 /1001/index/1003/product 时做跳转,当遇到其它的字符串时略过。


这时的正则表达式可以写成/([0-9]+)/(index|product) ,如下图所示,正则表达式只匹配到了需要的目录


3.正则表达式中不能出现特定的字符串

当需要匹配一段字符串时但是不希望字符串中出现某些字符串,如 index,product,about

正则表达式可以写成:(?!.*index|.*product|.*about)^.*$

?!”:详解

(?!pattern)
正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。
^ :详解

^
匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。
$ :详解

$
匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。
* :详解
*
匹配前面的子表达式零次或多次(大于等于0次)。例如,zo*能匹配“z”,“zo”以及“zoo”。*等价于{0,}。
· .点
匹配除“\r\n”之外的任何单个字符。要匹配包括“\r\n”在内的任何字符,请使用像“[\s\S]”的模式。

|:详解

| 将两个匹配条件进行逻辑“或”(Or)运算。例如正则表达式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:这个元字符不是所有的软件都支持的。

猜你在找的正则表达式相关文章