當前位置:首頁 » 編程語言 » php正則工具

php正則工具

發布時間: 2022-10-02 11:33:57

1. php怎麼正則匹配div裡面class值是兩個得

最好不要使用正則來做,感覺你想在做爬蟲,如果是的話建議使用class選擇器或者xpath選擇器。這個都比使用正則簡單。
我遇到這樣的問題都是這兩種工具,比正則簡單。有問題直接問我吧

2. php 正則表達式如何判斷一個字元串是否為合法的四則數學算式

代碼如下(經測通過):

<?php
$str="((1+1)*3.3)/10-12+(1+1)";
if(preg_match("/[+-*/.]{2}|[^+-*/()d.]+/i",$str,$matches)){
echo'非法算式';
}else{
if(substr_count($str,"(")==substr_count($str,")")){
echo'合法算式';
}else{
echo'括弧不匹配';
}
}
?>


判斷str里是否存在連續運算符、小數點或運算符、括弧、數字以外的字元

若存在則非法

若不存在則判斷str里( 和 )數量是否一致

3. php 中支持正則的方法有哪一些

\
將下一個字元標記為一個特殊字元、或一個原義字元、或一個向後引用、或一個八進制轉義符。例如,「n"匹配字元"n"。"\n"匹配一個換行符。串列"\\"匹配"\"而"\("則匹配"("。

^
匹配輸入字元串的開始位置。如果設置了RegExp對象的Multiline屬性,^也匹配「\n"或"\r"之後的位置。

$
匹配輸入字元串的結束位置。如果設置了RegExp對象的Multiline屬性,$也匹配「\n"或"\r"之前的位置。

*
匹配前面的子表達式零次或多次。例如,zo*能匹配「z"以及"zoo"。*等價於{0,}。

+
匹配前面的子表達式一次或多次。例如,「zo+"能匹配"zo"以及"zoo",但不能匹配"z"。+等價於{1,}。

?
匹配前面的子表達式零次或一次。例如,「do(es)?"可以匹配"does"或"does"中的"do"。?等價於{0,1}。

{n}
n是一個非負整數。匹配確定的n次。例如,「o{2}"不能匹配"Bob"中的"o",但是能匹配"food"中的兩個o。

{n,}
n是一個非負整數。至少匹配n次。例如,「o{2,}"不能匹配"Bob"中的"o",但能匹配"foooood"中的所有o。"o{1,}"等價於"o+"。"o{0,}"則等價於"o*"。

{n,m}
m和n均為非負整數,其中n<=m。最少匹配n次且最多匹配m次。例如,「o{1,3}"將匹配"fooooood"中的前三個o。"o{0,1}"等價於"o?"。請注意在逗號和兩個數之間不能有空格。

?
當該字元緊跟在任何一個其他限制符(*,+,?,{n},{n,},{n,m})後面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹配所搜索的字元串,而默認的貪婪模式則盡可能多的匹配所搜索的字元串。例如,對於字元串「oooo","o+?"將匹配單個"o",而"o+"將匹配所有"o"。

.
匹配除「\n"之外的任何單個字元。要匹配包括"\n"在內的任何字元,請使用像"(.|\n)"的模式。

(pattern)
匹配pattern並獲取這一匹配。所獲取的匹配可以從產生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中則使用$0…$9屬性。要匹配圓括弧字元,請使用「\("或"\)"。

(?:pattern)
匹配pattern但不獲取匹配結果,也就是說這是一個非獲取匹配,不進行存儲供以後使用。這在使用或字元「(|)"來組合一個模式的各個部分是很有用。例如"instr(?:y|ies)"就是一個比"instry|instries"更簡略的表達式。

(?=pattern)
正向肯定預查,在任何匹配pattern的字元串開始處匹配查找字元串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。例如,「Windows(?=95|98|NT|2000)"能匹配"Windows2000"中的"Windows",但不能匹配"Windows3.1"中的"Windows"。預查不消耗字元,也就是說,在一個匹配發生後,在最後一次匹配之後立即開始下一次匹配的搜索,而不是從包含預查的字元之後開始。

(?!pattern)
正向否定預查,在任何不匹配pattern的字元串開始處匹配查找字元串。這是一個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。例如「Windows(?!95|98|NT|2000)"能匹配"Windows3.1"中的"Windows",但不能匹配"Windows2000"中的"Windows"。預查不消耗字元,也就是說,在一個匹配發生後,在最後一次匹配之後立即開始下一次匹配的搜索,而不是從包含預查的字元之後開始

(?<=pattern)
反向肯定預查,與正向肯定預查類擬,只是方向相反。例如,「(?<=95|98|NT|2000)Windows"能匹配"2000Windows"中的"Windows",但不能匹配"3.1Windows"中的"Windows"。

(?<!pattern)
反向否定預查,與正向否定預查類擬,只是方向相反。例如「(?<!95|98|NT|2000)Windows"能匹配"3.1Windows"中的"Windows",但不能匹配"2000Windows"中的"Windows"。

x|y
匹配x或y。例如,「z|food"能匹配"z"或"food"。"(z|f)ood"則匹配"zood"或"food"。

[xyz]
字元集合。匹配所包含的任意一個字元。例如,「[abc]"可以匹配"plain"中的"a"。

[^xyz]
負值字元集合。匹配未包含的任意字元。例如,「[^abc]"可以匹配"plain"中的"p"。

[a-z]
字元范圍。匹配指定范圍內的任意字元。例如,「[a-z]"可以匹配"a"到"z"范圍內的任意小寫字母字元。

[^a-z]
負值字元范圍。匹配任何不在指定范圍內的任意字元。例如,「[^a-z]"可以匹配任何不在"a"到"z"范圍內的任意字元。

\b
匹配一個單詞邊界,也就是指單詞和空格間的位置。例如,「er\b"可以匹配"never"中的"er",但不能匹配"verb"中的"er"。

\B
匹配非單詞邊界。「er\B"能匹配"verb"中的"er",但不能匹配"never"中的"er"。

\cx
匹配由x指明的控制字元。例如,\cM匹配一個Control-M或回車符。x的值必須為A-Z或a-z之一。否則,將c視為一個原義的「c"字元。

\d
匹配一個數字字元。等價於[0-9]。

\D
匹配一個非數字字元。等價於[^0-9]。

\f
匹配一個換頁符。等價於\x0c和\cL。

\n
匹配一個換行符。等價於\x0a和\cJ。

\r
匹配一個回車符。等價於\x0d和\cM。

\s
匹配任何空白字元,包括空格、製表符、換頁符等等。等價於[ \f\n\r\t\v]。

\S
匹配任何非空白字元。等價於[^ \f\n\r\t\v]。

\t
匹配一個製表符。等價於\x09和\cI。

\v
匹配一個垂直製表符。等價於\x0b和\cK。

\w
匹配包括下劃線的任何單詞字元。等價於「[A-Za-z0-9_]"。

\W
匹配任何非單詞字元。等價於「[^A-Za-z0-9_]"。

\xn
匹配n,其中n為十六進制轉義值。十六進制轉義值必須為確定的兩個數字長。例如,「\x41"匹配"A"。"\x041"則等價於"\x04&1"。正則表達式中可以使用ASCII編碼。.

\num
匹配num,其中num是一個正整數。對所獲取的匹配的引用。例如,「(.)\1"匹配兩個連續的相同字元。

\n
標識一個八進制轉義值或一個向後引用。如果\n之前至少n個獲取的子表達式,則n為向後引用。否則,如果n為八進制數字(0-7),則n為一個八進制轉義值。

\nm
標識一個八進制轉義值或一個向後引用。如果\nm之前至少有nm個獲得子表達式,則nm為向後引用。如果\nm之前至少有n個獲取,則n為一個後跟文字m的向後引用。如果前面的條件都不滿足,若n和m均為八進制數字(0-7),則\nm將匹配八進制轉義值nm。

\nml
如果n為八進制數字(0-3),且m和l均為八進制數字(0-7),則匹配八進制轉義值nml。

\un
匹配n,其中n是一個用四個十六進制數字表示的Unicode字元。例如,\u00A9匹配版權符號(©)。

4. PHP的正則是不是有點問題

只要用正則表達式的s模式,讓點可以匹配回車換行符,然後在結果中把回車換行符替換為空,就可以輸出章節名了.

5. php 正則寫法

$str='style="background-image:url(http://..com/new?word=php+%D5%FD%D4%F2%D0%B4%B7%A8&ie=GBK);"';
preg_match('/((.+))/',$str,$match);
print_r($match[1]);

6. php 使用正則表達式是否具有優勢和缺點

優點:
正則表達式可以處理比較復雜的文本數據處理如匹配、替換、分割,比著php中的原生字元串函數功能更強,比如處理url,處理文本,驗證規則
缺點:
有強大的功能,但是處理速度比著原生字元串函數要慢

原則上能用原生的函數不用php中正則表達式

7. php 正則表達式 貪婪模式怎麼寫

MTracer正則表達式驗證工具,一般好用,我是只下載了個這個玩了一會覺得上手挺簡單的,就推薦下。正則表達式工具下載地址:MTracer.rar(首先打開工具,在右邊有上下兩個輸入框,上面那個是輸入正則的,下面那個是輸入要匹配字元串的,上下內容輸入好以後,就可以單擊匹配按鈕了,如果覺得匹配ok的話,就可以直接單擊上面菜單的代碼生成,來生成你要的C#代碼,java代碼,Script代碼等等)比如我要匹配兩個標簽里的所有東西如asdawdsadwdasdmwioasdasd我要匹配兩個Div之間的東西,那麼就應該寫[/S/s]*注意,你用request對象去請求回來的頁面是帶有/r 、/n 、/t這些標簽的,所有你要學會如何去表示這些標簽,另外捕獲標簽的時候,你是否要最大限度的匹配還是要最小限度的去匹配,下面就說明下這兩種模式 貪婪模式 和 非貪婪模式 :在正則表達式的匹配次數後面再添加一個 ? 表示 非貪婪模式
常用的匹配次數有 *、{m.n}、+貪婪模式:表達式在可匹配可不匹配的時候,也是盡可能的 "要匹配"。
非貪婪模式表達式盡可能少的匹配,使可匹配可不匹配的表達式,盡可能的 "不匹配"。
如bdxxx taaaa
表達式A1: .*
結果: 匹配1次
表達式A2:.*?
結果:匹配2次
表達式B1:[/w/s/]{1,}?
結果:匹配2次去掉問號結果:匹配1次同理 將{1,}改+ 也可以得到相同的匹配結果,好了今天就寫這么多了,哪天有空了再寫寫
-

8. php如何進行正則替換

按照你的要求把h後的數字和w後的任意數字替換成固定數的php程序如下

<?php

$fix='555';//固定數

$str='asdasda/w/100/h/200/q/sdasdsad';

$regex1="~h/[0-9]+~";

$result=preg_replace($regex1,"h/".$fix,$str);

$regex2="~w/[0-9]+~";

$result=preg_replace($regex2,"w/".$fix,$result);

print_r($result);

?>
運行結果

asdasda/w/555/h/555/q/sdasdsad

9. 中文版編寫php代碼的工具有那些

1. Rephactor

Rephactor是一款命令行重構工具,這是一款自動化工具,允許開發者以一種簡潔的方式在不同的代碼庫中修改源碼
主要功能:
保證重構的可逆性—— 一旦發現問題,代碼是可逆的,可以回溯到前一個版本。
查找替換功能—— 普通查找替換,方法重命名,類重命名,正則表達式模式的替換。
所有操作完成後,均基於SimpleTest Aperiplus進行測試,並保證測試的覆蓋率。
集成Phemto ,保證類的相關性測試。
2. Scisr
Scisr是一款利用PHP編寫的重構工具。項目託管在GitHub上。基於GPL許可證下發行。
使用方法:
類的重命名:
[js] view plain
$ scisr rename-class OldName NewName [files]
修改方法:
[js] view plain
$ scisr rename-method OwningClassName oldMethodName newMethodName [files]
文件重命名:
[js] view plain
$ scisr rename-file old/file_name new/dir/new_file_name [files]
重命名類和文件:
[js] view plain
$ scisr rename-class-file OldClassName NewClassName [files]
3. PHP Refactoring Browser
這是一款PHP 代碼的重構工具,通過生成diffs來描述重構的步驟,避免重構過程中的簡單錯誤,該工具非常棒。項目託管在GitHub上。
使用庫:
PHP Parser by Nikic
PHP Token Reflection from Ondřej Nešpor
重構瀏覽器數據主要包含以下幾個方面:
補丁——支持基於更改文件操作創建補丁;
重構——包含實際重構域和適配第三方庫;
集合——基於PHP數組可靠添加集合語義。目前包含一組類型。
4. PhpStorm
PhpStorm是由JetBrains公司開發的一款PHP IDE富應用,同時支持重構。PhpStorm可隨時幫助用戶對其編碼進行調整,運行單元測試或者提供可視化調試功能。
目前,發布了PhpStorm 7版本,新版本支持PHP5.5;改進PHP語法著色性能;Vagrant、SSH 控制&遠程工具;支持Drupal & PHP框架;改進調試和測試性能。
PhpStorm的主要特性:
智能PHP編碼編輯器;
代碼質量分析;
支持調試/測試;
支持HTML/CSS/JavaScript編輯器;
支持跨平台。
5. Zend Studio

Zend Studio是Zend Technologies開發的PHP語言集成開發環境。支持HTML和JS標簽,但只對PHP語言提供調試支持。
主要特性:
具備功能強大的專業編輯工具和調試工具;
支持PHP語法高亮顯示、語法自動填充功能,支持語法自動縮排和代碼復制功能;
支持書簽功能;
內置一個強大的PHP代碼調試工具;
支持本地和遠程兩種調試模式,支持多種高級調試功能。

熱點內容
雲伺服器的帶寬有用嗎 發布:2024-04-23 15:39:10 瀏覽:123
老款安卓平板玩吃雞反應慢怎麼辦 發布:2024-04-23 15:20:17 瀏覽:570
小程序全套源碼 發布:2024-04-23 15:07:58 瀏覽:716
伺服器業務ip地址怎麼配 發布:2024-04-23 15:03:05 瀏覽:990
銅排折彎最簡單的演算法 發布:2024-04-23 14:48:53 瀏覽:23
我的世界伺服器倒計時清理指令 發布:2024-04-23 14:21:14 瀏覽:467
五班資料庫 發布:2024-04-23 13:59:57 瀏覽:798
在c語言中數字029是一個 發布:2024-04-23 13:52:13 瀏覽:741
我的世界電腦版伺服器怎麼禁足 發布:2024-04-23 13:24:49 瀏覽:548
y壓縮包 發布:2024-04-23 12:41:20 瀏覽:167