正则表达式帮助 - 找到所有内容,直到前一个空格字符

时间:2012-09-24 00:06:39

标签: regex notepad++

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

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

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”。如何在前一个空格字符之前计算所有内容?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

//之间的一切: / [^ ]*MutationOutput\.txt/

这意味着“空间,然后是一堆不是空格的东西,然后是MutationOutput.txt”。 (我是这样做的,因为我不确定Notepad ++如何与贪婪和不同意相媲美。)

顺便说一句,你可以让你的第一次尝试更好。字符类([]之间的字符)只匹配一个字符,但您可以使其与*匹配为零或更多。实际上,您可以使用*将任何内容与零或更多匹配。