Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 记事本++;正则表达式搜索和替换忽略我的结果组_Regex_Notepad++ - Fatal编程技术网

Regex 记事本++;正则表达式搜索和替换忽略我的结果组

Regex 记事本++;正则表达式搜索和替换忽略我的结果组,regex,notepad++,Regex,Notepad++,我需要将几个带问题的文本文件更改为在线学习平台使用的格式 我有这样结构的行: \item德语问题//英语问题。\\%true \item德语第二个问题//英语第二个问题。\\%false 我需要更改行,使其看起来像这样: ::德语问题//英语问题:[html]德语问题//英语问题。{%true :德语第二个问题//英语第二个问题..:[html]德语第二个问题//英语第二个问题。{%false 只有文本'Question in derman.//Question in english.'和答案'

我需要将几个带问题的文本文件更改为在线学习平台使用的格式

我有这样结构的行:
\item德语问题//英语问题。\\%true

\item德语第二个问题//英语第二个问题。\\%false

我需要更改行,使其看起来像这样:
::德语问题//英语问题:[html]德语问题//英语问题。

{%true

:德语第二个问题//英语第二个问题..:[html]德语第二个问题//英语第二个问题。

{%false

只有文本'Question in derman.//Question in english.'和答案'%true'发生变化(答案可以是true或false)

我可以用这个正则表达式找到我想要的部分:
(\\item)(.*)(\\\\%.*)

我用了这个
:\2::[html]\2

{\3

作为替换语句,但记事本++结果为:

 ::::[html]<p><span style="font-size: 14px;"></span><br></p>{ 
:[html]
{
我也试过了

:: $2 ::[html]<p><span style\="font-size\: 14px;"> $2 </span><br></p>{ $3
::$2::[html]$2

{$3
因为我不确定notepad++v7.7使用什么语法。结果类似

 ::  ::[html]<p><span style="font-size: 14px;">  </span><br></p>{ 
:[html]
{
我不知道为什么Notepad++忽略了我的组

解决方案


我无法用Notepad++解决此问题。以下是对我有效的解决方案:

我使用此网页的模式进行搜索:
^\\item\h+(\N*?)/(\N*)\h*(\S+)

和用于替代

:$1/$2::[html]$1/$2
{/p>{$3

我无法解决记事本++的问题。以下是对我有效的解决方案:

我使用此网页的模式进行搜索:
^\\item\h+(\N*?)/(\N*)\h*(\S+)

和用于替代
::$1/$2::[html]$1/$2

{$3

下面是解决方案的链接

在我的记事本++7.7.1中,bobblebubble和TimBiegeleisen的功劳在于你的尝试虽然有点不同,但效果还是不错。你的np++是否存在捕获问题?尝试一些简单的替换来缩小问题的范围。例如尝试替换
(\\item)
使用
**$1**
并测试是否添加了星号。@bobblebubble这不应该发生在我所知道的任何版本的NPP上。@bobblebubble你是对的。我不知道为什么我说它有效。它还使用\1而不是$1进行了尝试,但它不起作用。在点模式下,有些东西对我有效。搜索
^\\item\h+(\N*?)/(\N*)\h*(\S+)
并替换为
:\1/\2:[html]\1/\2

{\3
但是我仍然觉得还有另一个与捕获相关的问题。
\N
在记事本++中不受支持,您必须使用
,然后取消选中
。匹配新行
谢谢@toto:)抱歉,我不知道!要独立于点选项,您仍然可以使用@Bobble-Weird:^\\item\h+([^\r\n]*?)/([^\r\n]*)\h*(\S+)这将导致9个匹配项,尽管它应该是72个。@des\u viech您需要在输入失败时更新并与输入共享。