【发布时间】:2010-04-22 15:56:02
【问题描述】:
我正在尝试使用 Notepadd++ 查找所有出现的 width=xxx 以便我可以将它们更改为 width="xxx"
据我所知,width=[^\n] 只选择 width=x
【问题讨论】:
我正在尝试使用 Notepadd++ 查找所有出现的 width=xxx 以便我可以将它们更改为 width="xxx"
据我所知,width=[^\n] 只选择 width=x
【问题讨论】:
如果你需要正好 3 个数字,下面在 Notepad++ 中测试:
width=\d\d\d[^\d]
进一步阅读您的需求,您可以使用标记功能:
Find what: width=(\d\d\d)([^\d])
Replace with: width="\1"\2
这里,正则表达式的 (n) 括号部分存储(按顺序)为 \1,\2,...\n,可以在替换字段中引用。
作为一个正则表达式引擎,Notepad++ 很差。 Here 是对所支持内容的描述。很基本。
【讨论】:
{3},但它确实支持否定字符类(并不总是支持?)他们在记事本++中放入了什么样的“正则表达式”疯狂???
看Notepad++ Regular Expression list 那里似乎不支持{n} 符号来匹配n 字符,所以\d{3} 不起作用。
但是,对我有用并且可能被视为 hack 的是:\d\d\d
在 Notepad++ 中测试并且已经工作,查找字段使用(\d\d\d),替换字段使用"\1"\2。
【讨论】:
正如 Tao 所说,从版本 6 开始,Notepad++ 支持 PCRE。
所以现在你可以写:
\d{1,5}
【讨论】:
\d{1,5}
\d{10} 来查找由 10 个数字组成的字符串。
/(width=)(\d+?)/gim
因为您可能需要可变数字。有些宽度可能是 8、15、200 等。
如果你想指定一个范围,你可以这样做:
/(width=)(\d{1,3)/gim
其中1代表下限,3代表上限。
我对表达式的两个部分进行了分组,所以当你替换时,你可以保留第一部分而不是把它吹走。
【讨论】:
试过了:用width="\1" 替换width=([0-9][0-9][0-9]) 并且工作正常...当然可能不是最好的语法,但它可以工作...
【讨论】:
我会试试这个:width=(\d{3,}),检查正则表达式,还有。匹配换行符
适用于我的版本:7.5.4
【讨论】: