2017-05-13 135 views
-2

協助我奮力提取文本在下面的行|207| xxxxxxx |4|之間:用正則表達式文本提取

|DCIP|2.8.1|207|Anomalous File/EXE from Rare External Location|4|externalId=28906 

207和4可以是任何數字。

我是新來的正則表達式,並放慢掌握。任何指針都會有幫助。

感謝

回答

0
  • 您可以使用\|\d+\|以匹配|包圍數字。
  • 使用捕獲組稍後提取該部分。

var text = '|DCIP|2.8.1|207|Anomalous File/EXE from Rare External ..|4|ext..'; 
 
var matched = text.match(/\|\d+\|([^|]+)\|\d+\|/)[1]; 
 
console.log(matched);

+0

謝謝 - 簡直太容易了。該聲明選擇包括數字。你將如何抽取| 207 |之間的文字?和| 4 |。 –

+0

@DamianJ,你是否運行過代碼?它打印中間的文本,而不是'| 207 |'和'| 4 |'。 – falsetru

+0

@DamianJ,在這裏我使用'text.match(/.../)[1]'來提取捕獲的組。提取組的方式在語言之間是不同的。您應該提供更多關於您正在使用的語言/工具/正則表達式引擎的信息。 – falsetru