首頁  >  文章  >  後端開發  >  英文文章中過濾單字

英文文章中過濾單字

WBOY
WBOY原創
2016-08-26 10:28:231898瀏覽

這是一段英文字串

<code>When I was young,my uncle king of the jungle,one day he call me,and say we walk to the river,i asked why?
my uncle say, you must learn how to cherish the water.</code>

我想寫一個只要該單字就能可以的正規表示式
這是我寫的。

<code>[^a-zA-Z]young[^a-zA-Z]</code>

可是找不到文章第一個字
英文文章中過濾單字

線上正規表示式

回覆內容:

這是一段英文字串

<code>When I was young,my uncle king of the jungle,one day he call me,and say we walk to the river,i asked why?
my uncle say, you must learn how to cherish the water.</code>

我想寫一個只要該單字就能可以的正規表示式
這是我寫的。

<code>[^a-zA-Z]young[^a-zA-Z]</code>

可是找不到文章第一個字
英文文章中過濾單字

線上正規表示式

[^a-zA-Z] 改成 [^a-zA-Z]? 就可以了啊

<code>(^|[^a-zA-Z])you([^a-zA-Z]|$)
</code>

英文文章中過濾單字

(^|[^a-zA-Z])When([^a-zA-Z]|$) 我覺得這樣就可以了,考慮了第一個單字和最後一個單字的情況,其實我覺得最簡單的方式還是你在字串的頭部和尾部個加上一個空格或其他一個特別的字符,這樣你原來的正則就能成功匹配到了。

[^a-zA-Z]這個模式匹配一個 非「a到z或A到Z」的字符 ,When的前面並沒有字符,自然匹配不到了。其他匹配到的單字也是匹配到了一個空格的。

如果你並不想空格,其實可以用轉義字符b來匹配單字邊界,這個轉義字符可以匹配開頭、結尾以及空格、標點形成的單字邊界,本身並不會匹配到任何多餘的字符。

bWhenb就可以了。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn