2012-10-01 25 views
1

我需要想出一個RegEx表達式,它可以在Eclipse的搜索中使用。正則表達式爲Eclipse的搜索找到沒有另一個單詞的單詞的出現?

它需要找到'腳本'沒有'jsSrc'的每一個發生。

<script type="text/javascript" src="<% { out.print(jsSrc(request, "/config/pop.config.jsp")); } %>"></script> 

但會匹配這個:

<script type="text/javascript" src="/config/pop.config.jsp"></script> 

我(使用負向前看符號和lookbehinds)

(?!jsSrc)script(?<!=jsSrc) 

將不匹配這沒有運氣嘗試了這些在Eclipse IDE搜索中使用它的最佳表達是什麼?

謝謝!

+0

這裏的一個難點,除了用正則表達式解析HTML的瘋狂之外,在表達式必須考慮'script'和'jsSrc'之間的文本之前,它可以廢除該行。那麼你正在解析的行是否一致呢?還是「腳本在這裏,然後在某個任意點,稍後可能是jsSrc」? – user1201210

+0

這將是任意的,我需要將它應用於幾個不同的場景。此外,不保證以前的開發人員在屬性之間不使用多個空間。 – flyer68

回答

1

試試這個:

<script(?!.*jsSrc) 

它將匹配「<腳本」如果後面沒有包含「jsSrc」一些文字。

<script(?!.*jsSrc).*$ 

這裏是我使用的測試數據:使用這些表達式匹配

1: <script src="jsSrc"></script> 
2: <script src="something else"></script> 
3: <script src="something else jsSrc"></script> 
4: <script src="jsSrk"></script> 
5: <script src="gsSrc"></script> 

只有線2,圖4和5

可替代地,這將整行匹配。請注意,我只用單行表達式進行測試,而不是多行表達式。

+0

謝謝!這很好。 – flyer68

相關問題