當前位置:
首頁 >
掌握 PHP 中的正则表达式 二
發布時間:2025/7/25
56
豆豆
生活随笔
收集整理的這篇文章主要介紹了
掌握 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程序运行时间