前一篇已經知道如何去匹配單一字元後,接下來處理怎麼匹配字串中多個字元
如果想要字元出現 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,都可以擷取內容文字出來!