2016-09-17 21 views
0

这是我的文字:如何使用RegEx从其他文本中提取包含文本的多行和空白空间?

[[> 
Check this out! 

And also this one! 

Well, I also have this 
[[MyVariable>5:15]] 

我想提取:

Check this out! 

And also this one! 

Well, I also have this 

MyVariable 

5:15 

当它只是[[MyVariable>5:15]]我可以使用此RegEx提取值:/\[\[(.*)\]\]/g。但是,我无法获得以[[>开头的多行版本。

我试过\[\[\>(\s\S)\]\]没有运气。

我如何得到我想要的?

(我使用JavaScript)

+0

'\ [[[[] [\ s \ S] *?\] \]' – revo

回答

0

我看到[[..>..]]作为你需要处理它的结构。如果你想之前和>后捕捉一切:

\[\[([^>]*)>([^[\]]*) 

Live demo

+0

你好雷沃,谢谢你的回复!其实,我的结构就像'[[> ...]]''。但它里面也有'[[MyVariable> 5:15]]结构。但是,正如你所看到的,两个结构是嵌套的,它们不是分开的。我的意思是,关闭']]'用于内部结构和外部结构。 – scaryguy

+0

你知道吗?我甚至更喜欢'[[MyVariable> 5:15 ... ]]结构,但我认为它可能会更难。如果您认为这很容易,我可以更新这个问题?在'5:15'部分之后,在这种情况下应该会有一条新线路。如果您愿意,我还可以将其作为一个新问题提出。当然,我也应该能够提取'MyVariable> 5:15'部分。 – scaryguy

+0

请在您的问题中添加一个更具说明性的示例输入,并输入要捕获的所需部分。请说明可能会发生多少嵌套关卡。 @scaryguy – revo

0

我认为你在寻找这样的事情。

/([^\[\[>]*)[A-Za-z0-9]([^>[\]]*)/g 

如果你还没有听说过它,regexr是试验正则表达式一个很酷的地方。

相关问题