1. 程式人生 > >]*>.*?|這個正則表示式該如何解釋?

]*>.*?|這個正則表示式該如何解釋?

正則是用來匹配一串字串的
< 不變,就是<
\S 非空白符 
* 重複任意次
? 懶人原則,如果有多種匹配,取最短的那種
[^>]* 取任意次不是“>”的其它任意字元
> 就是>,不變
.*? 除換行符外任意字元(.)匹配任意次(*),但是是懶人原則(?)
</\1> 其它都是按原樣匹配,只有\1代表第一個括號中捕獲的內容,即\S*?
所匹配的內容
| 或,"|"兩邊有任一匹配就可以,先匹配左邊表示式,沒有再匹配右邊
<.*?/> 其它都是按原樣匹配,.*?上面有 

這段表示式的本意是想查詢類似
<標籤>內容</標籤>
格式的文字,但是有差錯。這個格式我沒學過但看到過,好像是類似
XML格式語言,不是XML別怪我,不過就是這樣的格式沒錯。但是你的這個表示式我用來匹配了一下文字,以下是我做的3次匹配
文字:cy_nobuda<cy >aaa</cy>
結果是:<cy >aaa</cy>
文字:cy_nobuda<cy >aaa<bbb/>
結果是:<cy >aaa<bbb/>
文字:cy_<dslj;fds/>
結果是:<dslj;fds/>

很亂,根據"<標籤>內容</標籤>"這個格式,我改了一點點點點點點
<(\S*?)>.*?</\1>

上面3個文字結果是沒有,
文字改為cy_nobuda<cy>aaa</cy>
匹配結果就是:<cy>aaa</cy>