假設我正在搜索整個單詞「cat」,但不是「catastrophy」或「copycat」。我可以做到這一點的表達用整個單詞和可選的第一個字符的正則表達式
/\bcat\b/\i
如果(我在尋找通過微博,順便說一下)我想也可能找到「#cat」或「@cat」?
什麼是最乾淨的正則表達式來完成這個?
假設我正在搜索整個單詞「cat」,但不是「catastrophy」或「copycat」。我可以做到這一點的表達用整個單詞和可選的第一個字符的正則表達式
/\bcat\b/\i
如果(我在尋找通過微博,順便說一下)我想也可能找到「#cat」或「@cat」?
什麼是最乾淨的正則表達式來完成這個?
另一種猜測/^[@#]?\bcat\b
:
echo "#cat" | perl -ne 'print if /^[@#]?\bcat\b/i'
#cat
echo "@cat" | perl -ne 'print if /^[@#]?\bcat\b/i'
@cat
但不是:
echo "~cat" | perl -ne 'print if /^[@#]?\bcat\b/i'
(注^作爲區別其他帖子。)
問候
黑客試圖與/ \ [#@]貓\ B/I ...我是一個正則表達式新手 – jbnunn 2012-03-20 16:55:02
發生了什麼事,當你試過了正則表達式? – 2012-03-20 16:55:37
@jnunn:您需要在*([@#])?之後放置'\ b' *,否則只有在緊跟在單詞字符前面時,纔會包含'@'或'#'。 – ruakh 2012-03-20 16:57:50