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中”