代码如下所示:
alert(/symbol([.\n]+?)symbol/gi.test('symbolbbbbsymbol'));
或者
alert(/#([.\n]+?)#/gi.test('#bbbb#'));
代码如下所示:
alert(/symbol([.\n]+?)symbol/gi.test('symbolbbbbsymbol'));
或者
alert(/#([.\n]+?)#/gi.test('#bbbb#'));
因为您正在寻找在<
and中具有字符类的点>
。删除字符类:
/<(.+?)>/
第一个代码块应该使用这种模式:/symbol(.+?)symbol/
第二个代码块应该使用这种模式:/#(.+?)#/
正则表达式返回 false,因为点在放置在字符类中时失去了匹配任何字符(但换行符)的特殊能力[]
- 它只匹配简单的"."
.
要匹配和捕获在任一端由相同的单个字符分隔的子字符串,最有效的模式是
/#([^#]+)#/
要匹配和捕获在任一端由相同字符序列分隔的子字符串,要使用的模式是
/symbol(.+?)symbol/
或者,如果您想跨换行符匹配
/symbol([\s\S]+?)symbol/
where[\s\S]
匹配任何空格或非空格字符,它等同于任何字符。
包含使?
模式匹配延迟,即确保匹配在第一次出现时结束"symbol"
。