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]+)
。对于这个问题,在第一次捕获中,在*
和+
之间似乎没有什么选择。