我正在尋找正則表達式的幫助。我有一個項目,我正在編寫一個VBA宏,通過查找/替換一個短語來更新數十萬個文檔。該短語是「公司名稱」,並且需要是「Company Name LLP」。問題是,通過查找/替換,如果以前更新過,我無法阻止「公司名稱」有限責任合夥公司「變爲」公司名稱有限責任合夥公司「(兩家有限責任合夥公司)。我的解決方法是找到「LLP LLP」並替換爲「LLP」,但顯然使用正則表達式更好。我想要一個正則表達式,可以找到所有「公司名稱」還沒有「Company Name LLP」(甚至更好的是它也會用逗號排除「Company Name,LLP」)。任何人都可以請幫助我建立這個正則表達式? TIA!找到尚未更新的短語的正則表達式
回答
你可以使用一個(?!\s+LLP)
負先行,以避免匹配Company Name
之前1+空格和LLC
字:
Company Name(?!\s+LLP)
如果這些是整個單詞,則用字邊界:
\bCompany Name\b(?!\s+LLP\b)
要使表達式不區分大小寫,在RegExp對象上啓用不區分大小寫的模式。
例子:
Set myRegExp = New RegExp
myRegExp.IgnoreCase = True 'Here, case insensitive mode is ON
myRegExp.Global = True
myRegExp.Pattern = "\bCompany Name\b(?!\s+LLP\b)"
謝謝。我現在試圖排除「公司名稱,LLP」(用逗號)。我正在使用「\ bCompany&Name \ b(?!\ s + LLP | \,LLP \ b)」。這是最好的方法還是有更優雅的方式?我對這裏的正則表達式很陌生...... 最後,有沒有辦法找到「Company&Name」或「Company and Name」?我試過:「\ bCompany(&|和Name \ b」,但中間的圓括號產生另一個匹配。 – JBHorne
有一個更好的''(?!,?\ s + LLP \ b)',並且要匹配'和'和'&',請使用'(?:和|&)'。 '\ bCompany \ s +(?:和|&)\ s +名稱\ b(?!,?\ s + LLP \ b)' –
Wiktor,您好,真棒。這會花費我很長時間才能弄清楚。我最後的正則表達式是: \ bCompany(?:和|&)Name \ b(?!,?\ s + LLP \ b) 謝謝! – JBHorne
- 1. 正則表達式找到不在列表中的短語
- 2. 用戶正則表達式在java中找到短語
- 3. 正則表達式與短語聚合
- 4. 正則表達式結束行短語
- 5. 使用正則表達式來查找精確的短語?
- 6. 正則表達式 - 如何找話和引用的短語
- 7. 我找不到正則表達式的正則表達式
- 8. 使正則表達式更短
- 9. 使正則表達式更短
- 10. 找到正則表達式
- 11. 正則表達式找到
- 12. 正則表達式找到
- 13. 正則表達式找到
- 14. 正則表達式找到
- 15. Python的正則表達式在同一行中找到的短語
- 16. 用正確的短語捕獲句子的正則表達式
- 17. 正則表達式找到最短的匹配?
- 18. 使用Python正則表達式找到2個標籤之間的短語
- 19. 詞組短語的PHP正則表達式語法?
- 20. Java的正則表達式:找到正確的正則表達式
- 21. 正則表達式的值更新
- 22. ruby正則表達式格式的短代碼語法
- 23. Java中的正則表達式(正則表達式和語法)
- 24. Python正則表達式查找語句
- 25. 正則表達式找到PostgreSQL的
- 26. 找不到字的正則表達式
- 27. 找到相應的正則表達式
- 28. Python的正則表達式找到
- 29. 縮短HH:MM的正則表達式:SS
- 30. 縮短Perl的正則表達式
使用'公司名稱(?!\ S + LLP)' –
嗨Wiktor的,謝謝你的快速回復!有沒有辦法讓它不區分大小寫,以便找到「公司名稱」? – JBHorne
你可以設置正則表達式對象的大小寫敏感性。 –