我已经用这个成功地捕获了数据:
/^.{144}(.{15}).{34}(.{1})/
结果是:
TTGGCCCCCACTCTC T
我想从相同的位置删除相同的字符。我尝试了一个简单的替换:
s/^.{144}(.{15}).{34}(.{1})//
这将删除所描述的所有内容。如何仅删除 (...)?
最佳答案
替换的工作方式如下
s/match/replace/
因此它将用“替换”替换您的完整“匹配”。如果您想保留部分匹配项,则必须在替换字符串中设置组的引用。
s/^.{144}(.{15}).{34}(.{1})// # replace all with nothing
s/^.{144}(.{15}).{34}(.{1})/$1/ # replace all with group 1 (.{15}) -> not what you want
s/^(.{144}).{15}(.{34}).{1}/$1$2/ # keeps group 1 and 2 and removes ".{15}" between them and all at the end.
你需要的最后一个。
尝试 regex101 .在那里你可以给出一个模式,它会向你显示组。还有一个调试器。
关于regex - perl 正则表达式,删除捕获的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67767231/