2017-10-20 31 views
0

我有一個排,看起來像這樣:UltraEdit的查找報價和替換

'ABCD','ABKCKD','ADFL','3','43 

在UltraEdit,我試圖找到'3'「,並替換爲3, 我試圖找到爲['][\d]+['][,][']發現'3','

但是,當我試圖將其替換爲[\d]+[,],時,它不起作用。

任何想法?

謝謝。

+0

使用''(\ d +)',''替換爲'$ 1',' –

+0

''3','43' ...爲什麼43缺少正確的引用? –

+0

我只是忽略了最後的報價。對困惑感到抱歉。 –

回答

0

首先需要捕捉引號之間的數字,你可以做這樣的使用捕獲組()

'([\d]+)',' 

然後使用捕獲的數字使用^1所以你替換將是:^1,

Ultraedit正則表達式的使用reference

+0

它正確捕捉到我想要的部分。但是,當我嘗試更換它時,它實際上顯示$ 1而不是數字 –

+0

我的不好。它適用於\ 1, 謝謝! –

+0

嘗試使用'^ 1',也可以使用'^('&'^)' –

0

UltraEdit支持3種不同的正則表達式e ngines:

  • 的Perl ...使用Boost Perl的正則表達式庫中最強大的正則表達式引擎。
  • UltraEdit ... UltraEdit的本地regexp引擎,語法類似於Microsoft Office。
  • Unix ...使用Perl regexp語法的UltraEdit regexp引擎(或多或少)。

的IDM功率尖端tagged expressions解釋標記/捕獲/上運行的的UltraEdit正則表達式替換標記基團的使用。

IDM電源提示Perl regular expressions: Backreferences解釋正在運行的Perl正則表達式替換的標記/捕獲組的用法。此語法也可以用於具有有限功能的傳統Unix正則表達式引擎。

[ ... ]定義了字符類/集,即字符列表。正方括號內的任何字符都可以或必須爲正搜索找到。使用字符集對於像',這樣的單個字符沒有多大意義。可以使用['][\d]+['][,]['],但使用搜索字符串'\d+','更容易。

請注意,在的Unix/Perl的正則表達式搜索字符串轉義序列\d定義任何數字設置一個字符。在UltraEdit和偶然還在Unix/Perl等效於正則表達式搜索字符串是[0-9]

的更換可與搜索字符串'^([0-9]+^)','進行,並使用UltraEdit的正則表達式引擎替換字符串^1,'

的更換可與搜索字符串'(\d+)','完成並替換字符串\1,'使用的UnixPerl的正則表達式引擎。

隨着Perl的正則表達式發動機還可以使用此替換替換字符串\1因爲,'搜索字符串'(\d+)'(?=,')在積極lookahead不匹配/選擇字符指定。