我正在试图找出正则表达式,并且无法解析以下内容。
我有几百行看起来像这样:
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”。如何在前一个空格字符之前计算所有内容?
感谢您的帮助!
答案 0 :(得分:2)
//之间的一切:
/ [^ ]*MutationOutput\.txt/
这意味着“空间,然后是一堆不是空格的东西,然后是MutationOutput.txt”。 (我是这样做的,因为我不确定Notepad ++如何与贪婪和不同意相媲美。)
顺便说一句,你可以让你的第一次尝试更好。字符类([]
之间的字符)只匹配一个字符,但您可以使其与*
匹配为零或更多。实际上,您可以使用*
将任何内容与零或更多匹配。