2022年4月25日 星期一

在正則表達式過濾特定結尾的寫法

在正則表達式過濾特定結尾的寫法 

前言

  在 [ developer.mozilla.org ] 正規表達式 裡發現有個寫法我從來沒用過,在此把學習的過程做個紀錄。


內容

  在 [ developer.mozilla.org ] 正規表達式 裡發現有個寫法是過濾特定結尾的寫法,語法是"x(?=y)"與"x(?!y)","x" 的部分是要取得的開頭,"y"的部分則為結尾,"?="表示符合的結尾是結果,"?!"代表的是不符合的結尾是結果,聽起來有點難懂,可以利用 [ coding.tools ] 正則表達式在線測試工具 來實驗,實驗結果如下

使用"?="的寫法


使用"?!"的寫法

在使用"?="的寫法可以看到"That"並不會被當結果,只有"This"被當成結果,且結果只有"Th"的部分,並不包含"is",所以這個語法可以把它解釋成過濾特定結尾,"?!"的寫法其實就是相反的邏輯,不符合的結尾都是結果,所以只有"That"是結果,這兩個語法可以搭配"|"來過濾不同的結尾。

  這個寫法是專門針對結尾有特定規則的應用,目前沒想到哪裡用的到,不過還是學習了。


參考資料

[ developer.mozilla.org ] 正規表達式

[ coding.tools ] 正則表達式在線測試工具

沒有留言:

張貼留言