Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 匹配内部代码而不考虑任何换行文本_Javascript_Regex - Fatal编程技术网

Javascript 匹配内部代码而不考虑任何换行文本

Javascript 匹配内部代码而不考虑任何换行文本,javascript,regex,Javascript,Regex,如果我有一个字符串,比如: [code]var foo = { bar: 'bar', baz: 'baz' };[/code] 我可以使用/^(?:\[code\])?([\s\s]*?)(?:\[\/code\])?$/I来获取内部文本(在[code]和[/code]之间),而不管它是否被代码标记包围 我想做的是让开始和结束标记更模糊一些。我通过用户对内部代码的选择得到了这个文本,因此选择可能不是完美的,选择可能会进入代码标签。选择可能类似于: ode]var foo =

如果我有一个字符串,比如:

[code]var foo = {
    bar: 'bar',
    baz: 'baz'
};[/code]
我可以使用
/^(?:\[code\])?([\s\s]*?)(?:\[\/code\])?$/I
来获取内部文本(在
[code]
[/code]
之间),而不管它是否被代码标记包围

我想做的是让开始和结束标记更模糊一些。我通过用户对内部代码的选择得到了这个文本,因此选择可能不是完美的,选择可能会进入代码标签。选择可能类似于:

ode]var foo = {
    bar: 'bar',
    baz: 'baz'
};[/co

但我仍然只想要内部代码。哪种最好的方式可以匹配代码标记,即使不是全部都匹配?

您可以只使用括号而不是完整标记,如下所示:

\]([\s\S]*?)\[\/

为什么不在
]
[
之间获取代码?您可以保证始终存在哪些字符?下面的答案是一个很好的解决方案。@MitchellSimoens顺便说一句,您也可以使用
(?s)\](.*?\[\/