Regex 记事本++;具有不匹配模式的正则表达式问题
我试图修改不包含一种模式但包含另一种模式的行:Regex 记事本++;具有不匹配模式的正则表达式问题,regex,notepad++,Regex,Notepad++,我试图修改不包含一种模式但包含另一种模式的行: Table: tablename page. Table: xxcellname 每当单词“Table”出现在一行的开头,而单词“page”没有出现在该行上时,我想用空格替换“Table:”。 所以在上面的例子中 Table: xxcellname 变成 cellname 及 保持不变 我试过使用: 替换(^表:)^(!?.*页)。*$ 使用\2尝试以下表达式: (?m)^Table:((?:(?!page
Table: tablename page.
Table: xxcellname
每当单词“Table”出现在一行的开头,而单词“page”没有出现在该行上时,我想用空格替换“Table:”。
所以在上面的例子中
Table: xxcellname
变成
cellname
及
保持不变
我试过使用:
替换(^表:)^(!?.*页)。*$
使用\2
尝试以下表达式:
(?m)^Table:((?:(?!page).)*)$
并替换为6个空格和第一个捕获组:
\1
应用于输入时:
Table: tablename page.
Table: xxcellname
Table: tablename page.
Table: xxcellname
Table: tablename page.
Table: xxcellname
它将提供以下输出:
Table: tablename page.
xxcellname
Table: tablename page.
xxcellname
Table: tablename page.
xxcellname
我觉得你的正则表达式太复杂了。只需使用负前瞻并替换为一些空格:
^Table:(?!.*page)
。注意:
默认情况下不匹配换行符表中的xx
的模式是什么:xxcellname
,因为如果没有模式,这将很难扩展@JorgeCampos要求的内容,xx
在将表:xxcellname
转换为cellname
时会去哪里?如果这是问题中的错误,请更正。或者,为什么删除“xx”?这是故意的吗?“x”代表“任何字符”还是文字“x”?
Table: tablename page.
xxcellname
Table: tablename page.
xxcellname
Table: tablename page.
xxcellname