学习php中的正则表达式

简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。我们可以在几乎所有的基于UNIX系统的工具中找到ta的身影。此外,象JavaScript这种客户端的脚本语言也提供了支持。正则表达式已经超出了某种语言或某个系统的局限,成为人们广为接受的概念和功能。

语法格式:位于定界符"/"之间。

较为常用的元字符包括: “+”, “*”,以及 “?”。

其中,

“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次,

“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次,

而“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。

/jim{2,6}/

上述正则表达式规定字符m可以在匹配对象中连续出现2-6次,因此,上述正则表达式可以同jimmy或jimmmmmy等字符串相匹配。

在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字符的使用方式。

\s:用于匹配单个空格符,包括tab键和换行符;

\S:用于匹配除单个空格符之外的所有字符;

\d:用于匹配从0到9的数字;

\w:用于匹配字母,数字或下划线字符;

\W:用于匹配所有与\w不匹配的字符;

. :用于匹配除换行符之外的所有字符。

另外:

较为常用的定位符包括: “^”, “$”, “\b” 以及 “\B”。

“^”定位符规定匹配模式必须出现在目标字符串的开头,

“$”定位符规定匹配模式必须出现在目标对象的结尾,

\b定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一,而“\B”定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。

匹配指定某一个范围而不局限于具体的字符。例如:

/[A-Z]/

上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。

/[a-z]/

上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。

/[0-9]/

上述正则表达式将会与从0到9范围内任何一个数字相匹配。

/([a-z][A-Z][0-9])+/