Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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++,我有一些文档,每行开头都有括号,就像 [8-1 1:2]苹果 [8-2 1:3]橙子 [10-5 4:1]香蕉 因此,如果这很重要的话,这些数字是不连续的。我想做的是在它们周围添加一些html代码,比如 [8-1 1:2]苹果 [8-2 1:3]橙子 [10-5 4:1]香蕉 到目前为止,我已经设法使用regex来查找括号和括号周围的信息,但我不能让它只添加括号周围的内容,同时保持括号和括号内的内容完好无损。您需要在regexp中使用捕获组(由括号分隔)。然后进行替换混合您捕获的内容和您想要添加

我有一些文档,每行开头都有括号,就像

[8-1 1:2]苹果
[8-2 1:3]橙子
[10-5 4:1]香蕉

因此,如果这很重要的话,这些数字是不连续的。我想做的是在它们周围添加一些html代码,比如

[8-1 1:2]苹果
[8-2 1:3]橙子
[10-5 4:1]香蕉


到目前为止,我已经设法使用regex来查找括号和括号周围的信息,但我不能让它只添加括号周围的内容,同时保持括号和括号内的内容完好无损。

您需要在regexp中使用捕获组(由括号分隔)。然后进行替换混合您捕获的内容和您想要添加的内容

可以这样做:

(\[\d+-\d+\s+\d+:\d+\])\s*([a-zA-Z]+)
第一个捕获组是括号之间的数字。第二组是文本

因此,在“替换”文本框中,您可以添加如下内容:

<html>$1</html> $2
$1$2

其中,
$1
$2
是捕获组。

我的notepad++版本使用
\1
\2
。。。与
$1
$2
不同。不要指定\d+-\d+\s+\d+:\d+\,只需将其设置为。*@ktaria即可。好吧,这实际上取决于您试图匹配的内容以及您的真实数据。如果可以匹配括号内的任何内容,则可以。如果您正在寻找一种更为具体的模式,那么,
*
可能不太合适。@agbinfo:您有一个非常旧的版本。是时候升级了。@ktaria与其减少到
*
(甚至
+
),不如搜索
[^\[\]*
,然后整个搜索表达式变成
(\[^\[\]*\]]\s*([a-zA-Z]+)
。对于这个问题,在第一次捕获中,在
*
+
之间似乎没有什么选择。