你好,我有一个文本,我想删除除了第一个词和一些特殊的词以外的其他一切。
acme -名词可达到的最高水平或程度; 默许-动词同意或表示同意 坚韧- adj不受恳求、劝说、请求、理由的影响;名词非常坚硬的天然结晶碳,被认为是宝石。 引证-动词的先期证据
在这里,我必须保留‘第一个单词’,‘动词’,‘adj’,‘名词’,并删除所有其他东西,这样它就变成了
acme 名词 默认动词 坚定的;名词 引用动词
在Notepad++中是否有Python或Regex来完成它;谢谢。
发布于 2013-12-24 22:00:55
用Notepad++试试这个
找到什么?
\s*[-;]\s*( adj| verb| noun)[^\r\n;]*(;$)?或与其他词相匹配,然后再加上:
\s*[-;]\s*( \S+)[^\r\n;]+(;$)?匹配由-或;记住该单词所精确的单词,并用它替换行尾或行尾的所有内容。
代之以:
\1

发布于 2013-12-24 21:30:37
匹配所需内容的正则表达式如下所示:
^(\w+)\s+-\s+(\w+)(?:.*?(?=(adj|verb|noun)))?(?:(?:noun|verb|adj)(?:.*)?)?参见http://regex101.com/r/yR5jW5演示
注-这不符合“三个或更多的特殊词”。我没有时间弄清楚为什么不行,但这可能是显而易见的事情。不过,这应该让你开始了。
https://stackoverflow.com/questions/20766642
复制相似问题