我試圖提取單個串出具有在鍵值順序多段線,但作爲它匹配比我多我不明白這一點想要。獲取的一行發生多次兩個字符之間的字符串
這是我的示例行:
|SEGA~1~MAGIC~DESCRIPTION~~~M~TEST~|SEGB~34~12.11.2011~3~M~O~|SEGC~HELLO~WORLD~|
此行是許多領域的一種串聯成一條線。現在我想提取以SEGA開頭的段索引2中的字符串。 所以我要做的就是爲這個grep的:
egrep -o 'SEGA(.*?)\~\|'
但它給我的整條生產線,有時它給我的只有我找段。在比賽中,我會使用〜字符來分割該段,然後拿第三段。 由於我使用。*?問號我預期的egrep只匹配SEGA和最先出現的內容〜|這是正確的,在SEGB之前,而不是在SEGC或SEGB結束之前。
我怎麼能告訴grep來搜索SEGA並給整個內容SEGA開始之後,直到〜的最初發生|
好吧似乎-P選項幫我擺脫困境。因爲我有和grep一樣的正則表達式,但是它沒有匹配就終止了。現在,它的工作,謝謝。 – NovumCoder