php与JavaScript的正则表达式使用方法是否一样?

后端开发   发布日期:2023年05月19日   浏览次数:494

正则表达式原由JavaScript提出,后来应用于其它语言体系,成了一种独立的匹配技术。但是PHP的正则比标准javascript的要强大,js的正则库在PHP正则面前显得只是一个简约的基础库。

无论JavaScript、php、mysql还是nginx,正规则思路都是通用的,但具体的规则应用还是有区别的。我测试过部分通过在线测试的工具已经调通的情况下,但移植到PHP的应用中时却无法匹配,但基本规则还是一样的,我觉得需要特别注意的就是结尾后的标记符 //igms这种,正则表达式的优势就是模糊匹配的能力也是一种核心技术。

一、基本生成方法

字母前后各加一个斜杆。如:

  1. var a = /http/;

二、常用标记(可选)

  1. i:大小写不敏感;
  2. g:全局匹配;
  3. m:多行匹配;如:
  4. var a = /http/i;

三、生成模式

一、位置指示

^和$表示开头和结尾。如:

  1. var a = /^http$/i;

二、转义码(反斜杆)转义

字符串表示式中可能有冲突的/、^、$等正规表达式也使用到的符号。

  1. 常用的转义字符及其含义:
  2. \’ 单引号
  3. \” 双引号
  4. \\ 反斜杠
  5. \0
  6. \a 警告(产生峰鸣)
  7. \b 退格
  8. \f 换页
  9. \n 换行
  10. \r 回车
  11. \t 水平制表符
  12. \v 垂直制表符

如用转义符匹配”http://www.w3w.org/”的正则表达式:

  1. var parttern = /http:\/\/www\.\w3w\.org\//

三、反复计算器确认计算次数。

  1. * 0或多次
  2. + 1或多次
  3. ? 0或多1
  4. {m,n} 最少m次,最多n
  5. {m,} m次或更多次
  6. {m} m
  7. var parttern = /^(\w+)|[\d]-)/;

四、过度匹配

为了防止正规表达式的过度匹配必须指定精确的条件。

五、分组和字符类

匹配一串字符时可以用破折号指定取值范围。如

  1. var parttern = /[0-9]/
  2. var parttern = /[a-z]/

任何大小写字母:

  1. var parttern =/[a-zA-Z0-9]/

但字符串中有$%等特殊字符不能直接匹配,需要转义。

六、子表达式加上括号表示一个匹配单元。

  1. var parttern = /(w+)([\d-]+)/;

七、可选量

用“|”表示几个可选条目,逻辑或关系。

  1. var parttern = /^(thtp)|(https)/;

正则表达式看起来象天书一样,用处其实很大。

以上就是php与JavaScript的正则表达式使用方法是否一样?的详细内容,更多关于php与JavaScript的正则表达式使用方法是否一样?的资料请关注九品源码其它相关文章!