2

我正在尝试找出正则表达式并且无法解析以下内容。

我有几百行看起来像这样:

source ~/.bashrc; cd ~/myfiles/Clustering/Code/Connectedness/Code; R CMD BATCH "--vanilla --args BRAF P15056 BRAF_P15056_MutationOutput.txt 3NY5.pdb A"  MutationAnalysisRunMeAlignment.R ~/myfiles/Clustering/ROutput/RunOutputAlignment/BRAF_P15056_3NY5_A_RunResults.txt

我想找到以“MutationOutput.txt”结尾的字符串部分,并将其与前一个空格匹配。然后我想用什么来代替它。因此,上面的行将变为:

source ~/.bashrc; cd ~/myfiles/Clustering/Code/Connectedness/Code; R CMD BATCH "--vanilla --args BRAF P15056 3NY5.pdb A"  MutationAnalysisRunMeAlignment.R ~/myfiles/Clustering/ROutput/RunOutputAlignment/BRAF_P15056_3NY5_A_RunResults.txt

我知道它需要是这样的,

[A-Z_0-9]MutationOutput.txt

但如何只捕获该行的最后一部分:“_MutationOutput.txt”。如何让它计算所有内容,直到前一个空格字符?

感谢您的帮助!

4

1 回答 1

2

//之间的所有内容: / [^ ]*MutationOutput\.txt/

这意味着“空格,然后是一堆不是空格的东西,然后是 MutationOutput.txt”。(我这样做是因为我不确定 Notepad++ 如何与贪婪与非贪婪一起工作。)

顺便说一句,你也可以让你的第一次尝试工作得更好。一个字符类(介于 之间的字符[])仅匹配一个字符,但您可以使用 使其匹配零个或多个*。实际上,您可以使用*.

于 2012-09-24T00:12:16.963 回答