Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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,哇,我的正则表达式很烂 我正在尝试匹配以下文本: *hello* 只需使用以下正则表达式即可: (\*[^*]+\*) 在正则表达式中有[.],它实际上会搜索点,因为在[]中,它会丢失其特殊上下文,并被视为普通字符。您最好使用+,但它也将匹配*字符。因此,请使用我上面的解决方案 只需使用以下正则表达式即可: (\*[^*]+\*) 在正则表达式中有[.],它实际上会搜索点,因为在[]中,它会丢失其特殊上下文,并被视为普通字符。您最好使用+,但它也将匹配*字符。因此,请使用我上面的解决方案

哇,我的正则表达式很烂

我正在尝试匹配以下文本:

*hello*

只需使用以下正则表达式即可:

(\*[^*]+\*)
在正则表达式中有
[.]
,它实际上会搜索点,因为在
[]
中,它会丢失其特殊上下文,并被视为普通字符。您最好使用
+
,但它也将匹配
*
字符。因此,请使用我上面的解决方案


只需使用以下正则表达式即可:

(\*[^*]+\*)
在正则表达式中有
[.]
,它实际上会搜索点,因为在
[]
中,它会丢失其特殊上下文,并被视为普通字符。您最好使用
+
,但它也将匹配
*
字符。因此,请使用我上面的解决方案

这将捕获

var text = "asdfasdf *hello*";
console.log( text.match(/([*][^*]+[*])/)[1]);
但这只是第一场比赛

如果你想要所有的火柴

var text = "asdfasdf *hello* asdffdsa  *asdf*";
var matches = text.match(/([*][^*]+[*])/g);

if(matches.length > 1) {
   for(var i=1; i<matches.length; i++) {
       console.log(matches[i]);
   }
}
var text=“asdfasdf*hello*asdffdsa*asdf*”;
var matches=text.match(/([*][^*]+[*]])/g);
如果(匹配。长度>1){
对于(var i=1;i这将捕获

var text = "asdfasdf *hello*";
console.log( text.match(/([*][^*]+[*])/)[1]);
但这只是第一场比赛

如果你想要所有的火柴

var text = "asdfasdf *hello* asdffdsa  *asdf*";
var matches = text.match(/([*][^*]+[*])/g);

if(matches.length > 1) {
   for(var i=1; i<matches.length; i++) {
       console.log(matches[i]);
   }
}
var text=“asdfasdf*hello*asdffdsa*asdf*”;
var matches=text.match(/([*][^*]+[*]])/g);
如果(匹配。长度>1){

对于(var i=1;具体来说,
*
是正则表达式中的一个特殊字符,如果要测试文字星号,则需要用反斜杠转义。@AndrewArnold我用
\*
.asterisk in
[*]
不需要转义。我知道;我是为了OP的好处而进一步解释的。具体来说,
*
是正则表达式中的一个特殊字符,如果要测试文字星号,需要用反斜杠转义。@AndrewArnold我用
\*
中的星号转义了它。
[*]
不需要转义。我知道;我是为了OP的利益而进一步解释的。我不确定您是否喜欢字符类。如果您查看链接中的解释,
[。]
没有达到您想要的效果。
文字字符*
似乎表明它确实匹配?我不确定您是否喜欢字符类。如果您查看链接中的解释,
[。]
不是你想做的。
文字字符*
似乎表明它字面上是匹配的?@Max阅读问题,在结尾处,问题被编辑,它用来说“我们在javascript中”@Max阅读问题,在结尾处,问题被编辑,它用来说“我们在javascript中”