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」。我如何讓它數一切,直到前一個空格字符?
謝謝你的幫助! / [^ ]*MutationOutput\.txt/
這意味着「空間,那麼一堆東西,是不是空格,然後MutationOutput.txt」:在//之間
作爲一般規則,如果匹配達到一定字符,則最好是使用一個'[^]',因爲這意味着對於正則表達式引擎少回溯。它是一個標準和體面的優化(比如'/ <[^>] +> /'爲尖括號)。 –
Aatch