掌握 PHP 中的正则表达式 二
生活随笔
收集整理的这篇文章主要介绍了
掌握 PHP 中的正则表达式 二
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
原文:http://www.ibm.com/developerworks/cn/opensource/os-php-regex2/
在上回,接触了常见 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 );
其它应用
regex 的另一个应用是格式化、规范化或提高数据的可读性。格式化不是使用 regex 查找和提取文本,而是使用 regex 查找并在正确位置插入文本。
如下列,将美元金额转换为数字
Code
<?php
//美元金额转换为数字
$salary = preg_replace("/[\$\s,]/",'',$_REQUEST['salary']);
//调用 preg_replace() 函数将用空字符串替换美元符号、所有空格和每个逗号,生成认为是整数的内容。
if ( is_numeric( $salary ) ) {
echo $salary;
}
else {
echo "failure";
}
?>
在上回,接触了常见 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 );
其它应用
regex 的另一个应用是格式化、规范化或提高数据的可读性。格式化不是使用 regex 查找和提取文本,而是使用 regex 查找并在正确位置插入文本。
如下列,将美元金额转换为数字
Code
<?php
//美元金额转换为数字
$salary = preg_replace("/[\$\s,]/",'',$_REQUEST['salary']);
//调用 preg_replace() 函数将用空字符串替换美元符号、所有空格和每个逗号,生成认为是整数的内容。
if ( is_numeric( $salary ) ) {
echo $salary;
}
else {
echo "failure";
}
?>
转载于:https://www.cnblogs.com/tograce/archive/2009/07/19/1526461.html
总结
以上是生活随笔为你收集整理的掌握 PHP 中的正则表达式 二的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 关于ewebeditor行距
- 下一篇: 测试php程序运行时间