前一篇已經知道如何去匹配單一字元後,接下來處理怎麼匹配字串中多個字元
如果想要字元出現 n 次,可以使用大括號包住,用 {n}表示
例如: \d{5} 等同於 \d\d\d\d\d,表示要出現五次數字
次數也可以使用範圍 {min, max}
例如: \d{3,5} 代表要出現三~五次數字
也可以省略上限值 {3,}
| 簡寫 | 說明 |
|---|---|
+ |
出現 1 次以上,等同於 {1,} |
? |
出現 0~1 次 (最多 1 次),等同於 {0,1} |
* |
出現 0 次以上 (可有可無),等同於 {0,} |
* 或是 + 這些量詞可以使用在一組多個字元上
例如: /boo+(hoo+)+/
第一個 + 和 第二個 + 的量詞是指 boo 和 hoo 中的第二個 o
第三個 + 指的是 (hoo+) 這個群組
所以白話解釋 /boo+(hoo+)+/
--> 找到 bo --> 且 bo 後面至少要出現 1 個 o
--> 無論是 boo 或 boooooooo,後面至少要接一組 (hoo+)
--> 這組 hoo+ 裡面內容要是 ho 開頭,且 ho 後面至少要出現 1 個 o --> hoo, hoooo 都可以
測試結果bohoo boooohohoo boho ---> 不符合boohoo booooohoo boohoohooohoooo --> 符合
一段 <span> 標籤的內容,只要留下 tag 中的文字
例如:
<span style="color:red"> 我是文字 </span>
<span class="item"> 我是文字 </span>
// 需要只留下 --> 我是文字我是文字
可以先寫出規則,好有個方向下手
<span> </span> 都要被移除<span> 中可能會有很多屬性,也都要移除我可能會這樣寫 /<\/?span[^>]*>/
| Regex | 說明 |
|---|---|
< |
標籤開頭符號 < |
\/?span |
/ 結尾標籤的斜線可有可無,代表 span /span 都符合 |
[^>]* |
span 文字的後方可以接除了> 的所有字元,這個字元出現幾次都可以 |
> |
標籤結束符號 > |
<span style="color:red"> 我是文字</span>
<span class="item">我是文字</span>
<span>我是文字</span>
測試以上的 HTML,都可以擷取內容文字出來!