什么是字符串匹配的JavaScript正则表达式,以$$开头,以$$结尾?

什么是字符串匹配的JavaScript正则表达式,以$$开头,以$$结尾?,javascript,regex,Javascript,Regex,我希望所有以$$开头、以$$结尾的字符串都使用Javascript正则表达式$$ 例如: $$hello$$ $$world$$ 这样的模式应该可以工作: ^\$\$.*\$\$$ 这将匹配字符串的开头(^),后跟$$,后跟零个或多个字符,后跟$$,以及字符串的结尾($)。例如: /^\$\$.*\$\$$/.test('$$hello$$') // true /\$\$.*?\$\$/.exec('print "$$hello$$"') // ['$$hello$$'] 如果要查找与此

我希望所有以$$开头、以$$结尾的字符串都使用Javascript正则表达式$$

例如:

$$hello$$
$$world$$

这样的模式应该可以工作:

^\$\$.*\$\$$
这将匹配字符串的开头(
^
),后跟
$$
,后跟零个或多个字符,后跟
$$
,以及字符串的结尾(
$
)。例如:

/^\$\$.*\$\$$/.test('$$hello$$') // true
/\$\$.*?\$\$/.exec('print "$$hello$$"') // ['$$hello$$']
如果要查找与此模式匹配的较大字符串的子字符串,请使用以下内容:

\$\$.*?\$\$
这将匹配
$$
,后跟零个或多个字符,非贪婪,后跟
$$
。例如:

/^\$\$.*\$\$$/.test('$$hello$$') // true
/\$\$.*?\$\$/.exec('print "$$hello$$"') // ['$$hello$$']
但对于这种简单的操作,您可以使用普通的旧字符串操作:

var string = '$$hello$$';
var result = (string.substr(0, 2) == '$$') && (string.substr(-2) == '$$'); // true

工作原理:首先,查找两个美元符号,然后,它允许任何输入,然后查看字符串是否以两个美元符号结尾。

下面有两个答案,一个是贪婪的,另一个是非贪婪的。作为一个练习,来了解这意味着什么。这两个答案都是有效的。@eis:不过,答案的贪婪在这种情况下是一种没有区别的区别,不是吗?在两端都有锚,中间位的贪婪是不相关的。@ T.J.Culdor是的,但是我认为它还是值得一提的。实际上,我想在JavaScript中匹配这种模式,但这似乎不起作用。看这把小提琴。我用关键字替换了正则表达式,但不起作用。请help@Raghav请参阅我的最新答案<代码>\$\$.*?\$\$应该可以工作。