2012-07-23 85 views
0

我想編寫一個正則表達式來在Dreamweaver中進行一些替換。我需要html中的<abbr>標籤的正則表達式。在Dreamweaver中搜索和替換的正則表達式

例如,在我的網頁下面的文本將出現:

Photo: NASA 

我想它變成:

Photo: <abbr title="National Aeronautics and Space Administration">NASA</abbr> 

注意,在我的HTML單詞「NASA」的一些實例已被<abbr>標籤包圍。如果是這種情況,請不要在其周圍額外添加<abbr>標籤。

+0

給我們一個例子來說明示例文本和期望的輸出。 – 2012-07-23 16:10:58

+0

@vaman有這段文字在我的網頁: 照片:NASA 我想通過remplace它: <標題簡稱=「美國國家航空航天局」> NASA 但如果字NASA已經ABBR標籤之間,不要放置額外的標籤 – user1546333 2012-07-23 16:14:40

+0

當你說正則表達式和Dreamweaver,你在說Dreamweaver中使用正則表達式查找的查找/替換功能? – 2012-07-23 19:16:06

回答

0

我已經捨棄了lookbehinds。我不確定什麼類型的正則表達式Dreamweaver支持。

嘗試使用下面的正則表達式:

NASA(?!(*</abbr>)|(\.\w+)|(")) 

它不會匹配NASA的任何實例是:遵循

  • 通過</abbr>不管空白的美國航空航天局之間和</abbr>
  • 其次一個.和其他字符,例如nasa.gov被認爲是無效的。
  • 後面跟着/,例如, test.gov/nasa/被認爲無效。
  • 後面跟着一個"它是無效的。
  • 當它在這樣的報價規則表達式將與美國航空航天局:

    "This NASA is surrounded by quotes" 
    
  • ,但不會當它是唯一在報價:

    "NASA" 
    
  • 。 。 。你可以看到這裏的趨勢,並在必要時加上附加的「或」聲明。

我用下面的字符串進行了測試:

這句話與美國航天局結束。這個正則表達式將與美國國家航空航天局合作,但不是 ,其網址爲nasa.gov/test/nasa/page.html。它贏得了'牛逼工作, <簡稱> NASA < /簡稱>因爲它' S按<縮寫> 標籤包圍。 "這個美國國家航空航天局被引號"包圍,但將會是 匹配,因爲它' s沒有這樣格式化"美國航空航天局"是。

然後,你可以簡單地做一個發現使用正則表達式,並替換爲:

<abbr title="National Aeronautics and Space Administration">NASA</abbr> 

注:引號是,我不能避開的限制,或者我不不知道如何輕鬆解決。我建議如果你必須爲大量使用某種腳本語言(例如Python)的文檔執行此操作,並避免一個大的正則表達式並將其分解爲邏輯語句,但這完全是另一個問題。

祝你好運!

+0

此正則表達式不使用Dreamweaver :( – user1546333 2012-07-23 19:30:15

+0

工作嘗試[@ nickb的答案](http://stackoverflow.com/a/11619098/586621),如果不爲你工作有可能在查找一個複選框/替換你必須切換,在Dreamweaver中使用正則表達式編輯:看[這裏](http://www.adobe.com/devnet/dreamweaver/articles/regular_expressions_pt1.html)的更多信息,這 – 2012-07-23 19:31:38

+0

我取消選中「區分大小寫」和您正則表達式的工作,但我有詞「NASA」在一些網址,至極我不想更換 – user1546333 2012-07-23 19:34:34

0

如果lookbehinds的支持,這是相當簡單的。

搜索:

(?<!>)NASA 

替換:

<abbr title="National Aeronautics and Space Administration">NASA</abbr> 

這個發現沒有與>前綴NASA條目。所以,NASA會匹配,>NASA不會。

+0

我有一個「無效量詞? 美國宇航局「錯誤 – user1546333 2012-07-23 19:30:09

1

搜索:NASA

替換爲:

<abbr title="National Aeronautics and Space Administration">NASA</abbr> 

然後搜索:

<abbr title="National Aeronautics and Space Administration">NASA</abbr> 

田田:

<abbr title="National Aeronautics and Space Administration"><abbr title="National Aeronautics and Space Administration">NASA</abbr></abbr> 

與更換! =)

相關問題