我正在寫一個簡單的腳本,將網址指向Evernote筆記在線,並將它們轉換爲evernote:///
協議。我正在使用的正則表達式正確匹配並修改了正確的URL,當我在正則表達式測試中試用(我使用OS X的模式)。但是,當我使用它與sed,它只是返回原始字符串。正則表達式轉換www.evernote.com網址使用evernote協議
echo "https://www.evernote.com/shard/s2/nl/227468/1875e55a-e512-4cf9-9b18-9e93c6a27359/" | sed 's#https?:_/_/www_.evernote_.com_/shard_/(..)_/nl_/(......)_/(.+_/)#evernote:_/_/_/view_/$2_/$1_/$3$3#'
知道爲什麼這是不工作?謝謝!
堡
[編輯:如果任何人的興趣,這是一個鍵盤大師宏的AppleScript位:
set theURL to the clipboard set ENcode to "echo \"" & theURL & "\" | sed -E 's#https?://www.evernote.com/shard/(..)/nl/(.*)/(.+/)#evernote:///view/\\2/\\1/\\3\\3#' | pbcopy" do shell script ENcode
感謝@DreadPirateShawn幫我解決這個正則表達式。 ]
你肯定你的正則表達式正常工作在正則表達式測試儀與所有這些下劃線? – devnull
@devnull它的確如此,但你需要通過標誌來告訴它使用它們,就像其他系統一樣。 – Kevin
@devnull它是OSX上的'-E'。 – Kevin