如何在正则表达式中的字符串后隔离一定数量的字符

时间:2016-01-04 04:56:37

标签: javascript regex

我有这个非常荒谬的字符串(见下文),并希望将其从所有无用的信息中删除。

我想隔离所有类似的信息:

 Deal: -139.8 | normal: 228.27 | new: 88.47 | CGN - BCN (Sep 25, Sep 27)

这里的数字都可以不同,机场代码也是如此(CGN和BCN)。字符串的长度也可以不同。而不仅仅是

CGN - BCN (Sep 25, Sep 27)

最后,可能有

CGN - BCN (Sep 25), BCN - NYC (Sep 27)

编辑:如何使用正则表达式来隔离这些信息?我已经开始使用[Deal\:\s\-]来指示字符串应该以此开头。然后我就迷路了。由于我是正则表达式的新手,我不知道如何从这里开始

' ˇˇˇˇ304688Rv0OhVyeiV74 <>‘bD$æ⁄    Deal: -1811.28 | normal: 3158.15 | new: 1346.87 | TXL - NYC (Mar 18), NYC - ATL (Mar 24), ATL - MSY (Mar 30), MSY - TXL (Apr 02)UçÒˇˇˇ¸Uçıˇˇˇˇ304687 <>œ‘vh∞æ⁄    Deal: -319.59 | normal: 624.67 | new: 305.08 | SIN - DUS (Apr 28)UåÕºˇˇˇ¸UåÕøˇˇˇˇ303965lRaD7YP70KR+<team@new.com>œ‘ä√æ⁄    Deal: -319.52 | normal: 624.55 | new: 305.03 | SIN - DUS (Apr 28)UåÕ硡ˇ¸UåÕ롡ˇˇ303966s4Z+<team@new.com>œ‘ù€µæ⁄    Deal: -322.71 | normal: 627.58 | new: 304.87 | SIN - DUS (May 05)Uå¬zˇˇˇ¸Uå¬~ˇˇˇˇ304686 <team@new.com>’‘±êÕæ⁄    Deal: -139.8 | normal: 228.27 | new: 88.47 | CGN - BCN (Sep 25, Sep 27)UåÅØˇˇˇ¸UåÅ≤ˇˇˇˇ3039613//TlCzBs/<>œ‘≈]µæŸ    Deal: -381.52 | normal: 732.66 | new: 351.14 | CGN - PEK (Aug 10)UåaGˇˇˇ¸UåaKˇˇˇˇ303962lWWb2SgeIy+<>œ‘Ÿ∏æŸ    Deal: -148.04 | normal: 293.55 | new: 145.51 | BER - LPA (Oct 17)UåT!'

1 个答案:

答案 0 :(得分:1)

如果格式已修复,您可以使用

\bDeal:.*?\([^|]*\)

并替换为empty string。请参阅演示。

https://regex101.com/r/fM9lY3/55

var re = /\bDeal:.*?\([^|]*\)/gm; 
var str = '\' ˇˇˇˇ304688Rv0OhVyeiV74 <>‘bD$æ⁄    Deal: -1811.28 | normal: 3158.15 | new: 1346.87 | TXL - NYC (Mar 18), NYC - ATL (Mar 24), ATL - MSY (Mar 30), MSY - TXL (Apr 02)UçÒˇˇˇ¸Uçıˇˇˇˇ304687 <>œ‘vh∞æ⁄    Deal: -319.59 | normal: 624.67 | new: 305.08 | SIN - DUS (Apr 28)UåÕºˇˇˇ¸UåÕøˇˇˇˇ303965lRaD7YP70KR+<team@new.com>œ‘ä√æ⁄    Deal: -319.52 | normal: 624.55 | new: 305.03 | SIN - DUS (Apr 28)UåÕ硡ˇ¸UåÕ롡ˇˇ303966s4Z+<team@new.com>œ‘ù€µæ⁄    Deal: -322.71 | normal: 627.58 | new: 304.87 | SIN - DUS (May 05)Uå¬zˇˇˇ¸Uå¬~ˇˇˇˇ304686 <team@new.com>’‘±êÕæ⁄    Deal: -139.8 | normal: 228.27 | new: 88.47 | CGN - BCN (Sep 25, Sep 27)UåÅØˇˇˇ¸UåÅ≤ˇˇˇˇ3039613//TlCzBs/<>œ‘≈]µæŸ    Deal: -381.52 | normal: 732.66 | new: 351.14 | CGN - PEK (Aug 10)UåaGˇˇˇ¸UåaKˇˇˇˇ303962lWWb2SgeIy+<>œ‘Ÿ∏æŸ    Deal: -148.04 | normal: 293.55 | new: 145.51 | BER - LPA (Oct 17)UåT!\'';
var subst = ''; 

var result = str.replace(re, subst);