搜索和替换中的正则表达式:避免固定长度的环视
Regex in search & replace: avoid fixed length of lookaround
在很长的语料库中,我想对某些地方进行一些修正
环境。但是,我在将正则表达式与文本一起使用时遇到问题
编辑。我切换到 gedit 以拥有一个支持正则表达式的编辑器
搜索和替换。
至关重要的是,我只想在行以某个特定开头时进行更改
模式(\nm
或 \mb
)。问题是我想要的元素
replace (o'
-> o'o
) 不是从行首开始的固定长度
而且我不能在后视中包含正则表达式(后视失败)。
有什么方法可以在简单的文本编辑器中包含我要查找的内容
正则表达式?或者这已经是我必须学习如何编写脚本的步骤了,因为
例如,Python?
到目前为止,这就是正则表达式的样子。
(?<=\(nm|mb)).*o'(?=(q|w|r|t|z|p|s|d|f|g|h|j|k|l|x|c|v|b|n|m|a|i|u|e))
当然,我不能在不丢失内容的情况下在替换中应用 .*
。
在 .*
周围放置一个捕获组并在替换中放置一个反向引用。
查找:(?<=\(nm|mb))(.*)o'(?=(q|w|r|t|z|p|s|d|f|g|h|j|k|l|x|c|v|b|n|m|a|i|u|e))
替换:o'o
在很长的语料库中,我想对某些地方进行一些修正 环境。但是,我在将正则表达式与文本一起使用时遇到问题 编辑。我切换到 gedit 以拥有一个支持正则表达式的编辑器 搜索和替换。
至关重要的是,我只想在行以某个特定开头时进行更改
模式(\nm
或 \mb
)。问题是我想要的元素
replace (o'
-> o'o
) 不是从行首开始的固定长度
而且我不能在后视中包含正则表达式(后视失败)。
有什么方法可以在简单的文本编辑器中包含我要查找的内容 正则表达式?或者这已经是我必须学习如何编写脚本的步骤了,因为 例如,Python?
到目前为止,这就是正则表达式的样子。
(?<=\(nm|mb)).*o'(?=(q|w|r|t|z|p|s|d|f|g|h|j|k|l|x|c|v|b|n|m|a|i|u|e))
当然,我不能在不丢失内容的情况下在替换中应用 .*
。
在 .*
周围放置一个捕获组并在替换中放置一个反向引用。
查找:(?<=\(nm|mb))(.*)o'(?=(q|w|r|t|z|p|s|d|f|g|h|j|k|l|x|c|v|b|n|m|a|i|u|e))
替换:o'o