【发布时间】:2015-12-22 10:18:35
【问题描述】:
我有一个文本文件,我想从中排除以数字 1 到 9 开头的行。我尝试使用正则表达式 ^\d+(.*)$ 和 ^[1-9](.*)$ 将它们替换为空白(空字符串),但它没有没用。
我正在使用 AutoIt 的 StringRegExpReplace() 命令。
【问题讨论】:
-
它在记事本++中工作
标签: regex pcre autoit regexp-replace
我有一个文本文件,我想从中排除以数字 1 到 9 开头的行。我尝试使用正则表达式 ^\d+(.*)$ 和 ^[1-9](.*)$ 将它们替换为空白(空字符串),但它没有没用。
我正在使用 AutoIt 的 StringRegExpReplace() 命令。
【问题讨论】:
标签: regex pcre autoit regexp-replace
^ 和 $ 锚点默认匹配 string 的开头和结尾。
要使它们在行的开头和结尾匹配,您必须设置MULTILINE (?m) 修饰符。
(?m)^\d.*$
【讨论】:
StringRegExpReplace() 没有修饰符的参数,这就是你需要使用 inline modifiers 的原因。尽管它们在其他一些情况下仍然有用(例如,仅使您的模式的一部分不区分大小写)。