正则表达式

正则表达式由两种基本字符类型组成:

  •  原义文本字符,如:a 就代表字母 a
  •  元字符,在正则表达式中有特殊含义的非字母字符,如下:

.   任意字符

^    开头

d    数字

    字符边界

?    0个或者1个

+    1个或者多个

*    任意个

{数字}  重复次数(或者说有“数字”个)

( )    分组(group)

[ab]   a或者b

$数字  匹配分组(group)

$    结尾

    水平制表符

v    垂直制表符

    换行符

    回车符

   (零) 空字符

f    换页符

cX   Ctrl+X (由此可知cZ等元字符的含义)

JavaScript通过内置对象RegExp支持正则表达式:http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp

  有两种方法实例化RegExp:

    1、字面量  var reg = /is/g ;      修饰符g代表gloab,全局匹配,不加g只会匹配第一个符合条件的字符串

    2、构造函数  var reg = new RegExp( '\bis\b' , 'g' )

    调用:  'this is a String'.relpace( reg , 'IS') ;

        reg.test('this is a String')    RegExp对象的test() 方法用于检测一个字符串是否匹配某个模式

  修饰符:

    g代表gloab,全局匹配,不加g只会匹配第一个符合条件的字符串

    i代表ignore case忽略大小写,默认大小写敏感

    m代表multiple lines多行搜索

 

PHP中使用PCRE库函数进行正则匹配:

  preg_match属于PCRE库函数,用于执行一个正则匹配,常用来判断一类字符模式是否存在

  PCRE库函数中,正则匹配模式使用分隔符与元字符组成,分隔符可以是非数字、非反斜线、非空格的任意字符。经常使用的分隔符是正斜线(/)、hash符号(#) 以及取反符号(~),例如:

/foo bar/

#^[^0-9]$#

~php~

  分隔符后面可以使用模式修饰符,模式修饰符(类似js的)包括:g,i, m, s, x等,例如使用i修饰符可以忽略大小写匹配:

正则表达式图形化网站:https://regexper.com/

原文地址:https://www.cnblogs.com/yaohunzhanyue/p/7446101.html