2010-04-22 103 views

回答

28

如果您需要的3個數字,下面是在記事本++測試:

width=\d\d\d[^\d] 

進一步閱讀到您的要求,您可以使用標籤功能:

Find what: width=(\d\d\d)([^\d]) 
Replace with: width="\1"\2 

這裏,(N )正則表達式的括號內的部分被存儲(按順序)爲\ 1,\ 2,... \ n,這可以在替換字段中被引用。

作爲一個正則表達式引擎,notepad ++很差。 Here是對支持內容的描述。很基本。

+2

所以不支持'{3}',但它確實支持否定字符類(它並不總是被支持?)它們在Notepad ++中放置了什麼樣的「正則表達式」瘋狂? – gnarf 2010-04-22 16:12:19

+0

雖然它確實支持\ d,它並未在該頁面上列出,所以我懷疑該頁面不準確並過時。我用\ s +和\ t。 – jmanning2k 2010-04-22 16:19:22

+0

width =「\ 1」\ 2替換leaves width =「」,因此它看起來像\ 1不返回任何數字 – atwellpub 2010-04-22 16:19:56

9

綜觀Notepad++ Regular Expression list似乎有不支持{n}符號匹配n字符,所以\d{3}沒有工作。

然而,出了什麼工作對我來說,可以看作一個黑客是:\d\d\d

測試在記事本++和工作過,對查找字段使用(\d\d\d)和替換申請使用"\1"\2

+0

這是一個成功的寬度= \ d \ d \ d,但我在什麼來定損的更換,以保留3個數字 – atwellpub 2010-04-22 16:15:21

2
/(width=)(\d+?)/gim 

因爲您可能需要可變數字。有些寬度可能是8,或15,或200,或其他。

如果要指定一個範圍,你做這樣的:

/(width=)(\d{1,3)/gim 

,其中1代表下限和3代表上。

我對錶達式的兩個部分進行了分組,因此當您替換時,您可以保留第一部分而不是吹掉它。

2

試了一下:更換width=([0-9][0-9][0-9])width="\1"和工作得很好。當然可能不是這樣做最好的語法,但它的工作原理...

6

陶評論說,作爲第6版,記事本++支持PCRE。

所以現在你可以這樣寫:

\d{1,5} 
+0

我在6.3中測試過,它說「不正確的正則表達式」...它應該是'\ d {1,5}' – mrdaliri 2013-03-21 22:04:58

+0

謝謝,糾正它。 – 2013-03-22 14:30:39

+0

太棒了!正是我在找的。例如,使用'\ d {10}'來查找一個由10個數字組成的字符串。 – thatWiseGuy 2016-02-06 21:31:30