首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只在标题中替换字符

只在标题中替换字符
EN

Stack Overflow用户
提问于 2021-02-10 05:53:35
回答 4查看 71关注 0票数 5

我有几个文件(请参阅输入部分),我需要它将[[ ]]与REGEX分离,但问题是只有:

代码语言:javascript
复制
- # headings
- >quotes

应保留所有其他括号。我无法通过..。我用的是崇高的读取器。如果有人有一些想法,我会很感激的!谢谢

输入

代码语言:javascript
复制
## [[zoom]] _[v]_

>[[move]] | [[very]] | [[quickly]]

__Synonyms__: [[buzz]] | [[dart]] | [[dash]] | [[dive]] | [[flash]] | [[fly]] | [[hum]] | [[hurtle]] | outstrip | [[rip]] | [[rocket]] | [[rush]] | [[shoot]] | [[shoot]] up | [[skyrocket]] | [[speed]] | [[streak]] | [[surge]] | [[tear]] | [[whirl]] | [[whiz]] | [[zip]]

__Concepts__: [[ACTIONS - MOTION#move oneself quickly (150)\|move oneself quickly]] 

__Antonyms__: decelerate, [[slow]]

## [[zip]] _[n]_

>[[enthusiasm]], [[energy]]

__Synonyms__: brio | [[drive]] | [[get]]-upand-[[go]] | [[go]] | [[gusto]] | [[life]] | liveliness | [[oomph]] | [[pep]] | [[pizzazz]] | [[punch]] | [[sparkle]] | [[spirit]] | [[verve]] | [[vigor]] | vim | [[vitality]] | [[zest]] | [[zing]]

__Concepts__: [[LIFE FORMS - GENERAL CHARACTERISTICS#personality (411)\|personality]], [[STATES - ABSTRACT#behavior (633)\|behavior]] 

__Antonyms__: [[apathy]], enervation, [[idleness]], [[laziness]], [[lethargy]]
 
## [[zip]] _[v]_

>[[move]] | [[about]] | [[quickly]]

__Synonyms__: [[bustle]] | [[dash]] | [[flash]] | [[fly]] | [[hasten]] | [[hurry]] | [[run]] | [[rush]] | [[shoot]] | [[speed]] | [[tear]] | waltz | [[whisk]] | [[whiz]] | [[zoom]]

__Concepts__: [[ACTIONS - MOTION#move oneself quickly (150)\|move oneself quickly]] 

__Antonyms__: decelerate, [[slow]]

输出

代码语言:javascript
复制
## zoom _[v]_

>move very quickly

__Synonyms__: [[buzz]] | [[dart]] | [[dash]] | [[dive]] | [[flash]] | [[fly]] | [[hum]] | [[hurtle]] | outstrip | [[rip]] | [[rocket]] | [[rush]] | [[shoot]] | [[shoot]] up | [[skyrocket]] | [[speed]] | [[streak]] | [[surge]] | [[tear]] | [[whirl]] | [[whiz]] | [[zip]]

__Concepts__: [[ACTIONS - MOTION#move oneself quickly (150)\|move oneself quickly]] 

__Antonyms__: decelerate, [[slow]]

## zip _[n]_

>enthusiasm, energy

__Synonyms__: brio | [[drive]] | [[get]]-upand-[[go]] | [[go]] | [[gusto]] | [[life]] | liveliness | [[oomph]] | [[pep]] | [[pizzazz]] | [[punch]] | [[sparkle]] | [[spirit]] | [[verve]] | [[vigor]] | vim | [[vitality]] | [[zest]] | [[zing]]

__Concepts__: [[LIFE FORMS - GENERAL CHARACTERISTICS#personality (411)\|personality]], [[STATES - ABSTRACT#behavior (633)\|behavior]] 

__Antonyms__: [[apathy]], enervation, [[idleness]], [[laziness]], [[lethargy]]
 
## zip _[v]_

>move about quickly

__Synonyms__: [[bustle]] | [[dash]] | [[flash]] | [[fly]] | [[hasten]] | [[hurry]] | [[run]] | [[rush]] | [[shoot]] | [[speed]] | [[tear]] | waltz | [[whisk]] | [[whiz]] | [[zoom]]

__Concepts__: [[ACTIONS - MOTION#move oneself quickly (150)\|move oneself quickly]] 

__Antonyms__: decelerate, [[slow]]
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-02-10 06:44:46

在崇高的文本编辑器中,您可以使用regex的PCRE风格。以下内容应该适用于你。

搜索正则表达式:

代码语言:javascript
复制
(?:^[#>]|(?!^)\G).*?\K(?:\[\[|]])

用空字符串替换。

RegEx演示

RegEx详细信息:

  • (?::启动非捕获组
    • ^[#>]:在开头匹配#>
    • |:或
    • (?!^)\G:从上一次匹配结束重新启动匹配

  • ):端非捕获组
  • .*?:匹配任意字符中的0或更多字符(懒惰)
  • \K:重置匹配信息
  • (?:\[\[|]]):匹配[[]]
票数 4
EN

Stack Overflow用户

发布于 2021-02-10 07:30:41

以下几点似乎有效:

代码语言:javascript
复制
^_.*(*SKIP)(*F)|\[\[|]]
  • ^ -启动字符串锚.
  • _.* -匹配下划线和0+其他字符,而不是换行符。
  • (*SKIP)(*F) -回溯控制动词到(*F)(*FAIL)的缩写。这种控件的组合基本上是:https://www.rexegg.com/backtracking-control-verbs.html#skipfail
  • | -或:
  • \[\[ -一个双字括号。
  • | -或:
  • ]] -双文字结束括号。

请参阅在线演示

要使这种限制更严格,您可以使用:

代码语言:javascript
复制
^[^#>\n].*(*SKIP)(*F)|\[\[|]]

这里唯一的差异是否定字符类确保我们不只是寻找以下划线开头的行。

在此之前:

之后:

票数 3
EN

Stack Overflow用户

发布于 2021-02-10 06:38:46

我认为有更容易的方法来做这件事。您只需检查该行是否使用##>字符串开始。

下面的代码是python。

我就是这样做的:

代码语言:javascript
复制
for line in my_file_data.split('\n'):
    if line.startswith(('##','>')):
        line = line.replace('[[','').replace(']]','')
    print (line)

我将所有原始数据存储到my_file_data中。然后做个分割来得到每一行。

这方面的产出如下:

代码语言:javascript
复制
## zoom _[v]_

>move | very | quickly

__Synonyms__: [[buzz]] | [[dart]] | [[dash]] | [[dive]] | [[flash]] | [[fly]] | [[hum]] | [[hurtle]] | outstrip | [[rip]] | [[rocket]] | [[rush]] | [[shoot]] | [[shoot]] up | [[skyrocket]] | [[speed]] | [[streak]] | [[surge]] | [[tear]] | [[whirl]] | [[whiz]] | [[zip]]

__Concepts__: [[ACTIONS - MOTION#move oneself quickly (150)\|move oneself quickly]] 

__Antonyms__: decelerate, [[slow]]

## zip _[n]_

>enthusiasm, energy

__Synonyms__: brio | [[drive]] | [[get]]-upand-[[go]] | [[go]] | [[gusto]] | [[life]] | liveliness | [[oomph]] | [[pep]] | [[pizzazz]] | [[punch]] | [[sparkle]] | [[spirit]] | [[verve]] | [[vigor]] | vim | [[vitality]] | [[zest]] | [[zing]]

__Concepts__: [[LIFE FORMS - GENERAL CHARACTERISTICS#personality (411)\|personality]], [[STATES - ABSTRACT#behavior (633)\|behavior]] 

__Antonyms__: [[apathy]], enervation, [[idleness]], [[laziness]], [[lethargy]]
 
## zip _[v]_

>move | about | quickly

__Synonyms__: [[bustle]] | [[dash]] | [[flash]] | [[fly]] | [[hasten]] | [[hurry]] | [[run]] | [[rush]] | [[shoot]] | [[speed]] | [[tear]] | waltz | [[whisk]] | [[whiz]] | [[zoom]]

__Concepts__: [[ACTIONS - MOTION#move oneself quickly (150)\|move oneself quickly]] 

__Antonyms__: decelerate, [[slow]]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66131582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档