记事本++正则表达式。查找并替换通配符,但不允许任何空格?
问题描述:
我有一排TXT记事本++正则表达式。查找并替换通配符,但不允许任何空格?
[[asdfg]] [[abcd|qwerty]]
这样的事情,但我希望它看起来像
[[asdfg]] [[qwerty]]
使用通配符([* \ |)试图搜索时,导致它发现整个线路“|”不允许它之间有空间应该工作,但我不知道如何做到这一点。
编辑1
这是从维基百科转储,所以第一部分是这个词在它的基本形式,第二个是它如何融入句子。像[[I]] [[be|was]] [[at]] [[the]] [[doctor]]
东西,我想把它变成一般的句子
[[I]] [[was]] [[at]] [[the]] [[doctor]]
编辑2
我发现有些解决方案。我只是把每一个单词放在一个新的行中,做了第一个正则表达式,然后删除了换行符。这的确有点乱了我的间距,但...
答
分布看这个说:
你可以做到这一切在一个像下面这样运行
\[{2}(?:(?!\]{2}).)+?\|([^\]]+)
这需要通过
[[$1
分布看这个说:
\[{2} # match [[
(?:(?!\]{2}).)+? # do not overrun ]]
\| # |
([^\]]+) # capture anything not ] into group 1
之后,你只需要更换打开支架和组的内容$1
应该总能找到相同/重复的字符,如'C'| C ','a'| a'? – RomanPerekhrest
不是。它来自维基百科转储,所以第一部分是基本形式中的单词,第二部分是它如何适合句子。像 [[I]] [[是|]] [[at]] [[the]] [[doctor]]。我想把它改成正常的句子。 – rrter123
应该如何取代[[I]] [[是|是]] [[at]] [[]] [[doctor]]? – RomanPerekhrest