2

我想要做的只是将参数连接到我现有的字符串“./executable.sh”,这样输出行集就会像这样

./executable.sh argument1
./executable.sh argument3
./executable.sh argument2
  ...
  ...

下面是“替换字符串”步骤。搜索设置为 (.*) 。替换字段设置为 ./executable.sh $1

在字符串步骤中替换

我得到的结果是:

./executable.sh argument1./executable.sh 
./executable.sh argument2./executable.sh 
./executable.sh argument3./executable.sh 

为什么我将初始字符串添加到替换的末尾?

谢谢你。

4

1 回答 1

1

这里的问题是您的正则表达式可以匹配在字符串之后匹配的空/空字符串(即幕后的引擎将字符串分成两部分:所有字符和终止空字符串,因此您得到两个匹配项被替换)。

为避免这种情况,您需要使用

(.+)

或者

^(.*)$

(.+)模式匹配除换行符之外的 1 个或多个字符,并^(.*)$匹配从字符串开头 ( ^) 到结尾( ) 的除换行符之外的 0 个或多个字符$。第二种模式中的显式锚有助于摆脱匹配输入末尾的空字符串。

于 2015-12-10T11:35:41.083 回答