掌握 PHP 中的正则表达式 二
原文:http://www.ibm.com/developerworks/cn/opensource/os-php-regex2/
在上回,接触了常见 regex 操作符,这里将介绍一些特殊 regex 操作符:
1、括号 () 的功能;
2、子模式限定符
3、regex 末尾的
regex
/---------------/
4、子模式修饰词是
5、子模式修饰词是
实例练习
例1
例2 嵌入空白和注释
其它应用
regex 的另一个应用是格式化、规范化或提高数据的可读性。格式化不是使用 regex 查找和提取文本,而是使用 regex 查找并在正确位置插入文本。
如下列,将美元金额转换为数字
Code
在上回,接触了常见 regex 操作符,这里将介绍一些特殊 regex 操作符:
1、括号 () 的功能;
2、子模式限定符
?: :它的功能是禁用捕捉;3、regex 末尾的
i 修饰语 :模式内的所有匹配都不区分大小写;regex
((?i)edu) :它只表示子模式不分大小写; /---------------/
i :它表示整个模式不分大小写;4、子模式修饰词是
(?x) :另一个有用的子模式修饰词,它允许您在子模式中嵌入空白;((?x) edu | com | info) :与 (edu|com|info) 相同/ ... /x : 在整个 regex 中嵌入空白和注释5、子模式修饰词是
?<= :即向左查找(向后查找)6、子模式修饰词是 ?= :即向右查找(向前查找)实例练习
例1
/[-a-z0-9]+(?:\.[-a-z0-9]+)*\.(?:com|edu|info)/i
(?:\.[-a-z0-9]+)* 将匹配零个或多个字符串实例(例如 “.ibm”)\.(?:com|edu|info) 表示句点,后接字符串 com、edu 或 info 中的任意一个例2 嵌入空白和注释
$matches = preg_grep(
"/
[- a-z 0-9]+ # machine name
(?: \. [- a-z 0-9]+)* # subdomains
\. (?: com | edu | info)# domain
/xi", $words );
"/
[- a-z 0-9]+ # machine name
(?: \. [- a-z 0-9]+)* # subdomains
\. (?: com | edu | info)# domain
/xi", $words );
其它应用
regex 的另一个应用是格式化、规范化或提高数据的可读性。格式化不是使用 regex 查找和提取文本,而是使用 regex 查找并在正确位置插入文本。
如下列,将美元金额转换为数字


浙公网安备 33010602011771号