正则表达式使用集锦


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

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


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."。注意:这个元字符不是所有的软件都支持的。

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...