用 js 正则匹配以xxx开头,以xxx结尾,中间可以包含任意字符、符号、换行符的字符串。

我使用这种正则,匹配不到,求改进
var res = str.match(/\\open.*?\\over/g)

阅读 14.6k
3 个回答

你要匹配换行符,这个不能用.*,而需要用

[\s\S]*

所以你的匹配应该是:

var res = str.match(/\\open[\s\S]*\\over/g)

字符串中的\符号需要使用转义字符转义

var str1 = '\hahaha'
// hahaha

var str2 = '\\hahaha'
// \hahaha

var str3 = '\open123\over'
// open123over
// 正则应为
str3.match(/open.*over/g)

var str4 = '\\open123\\over'
// \open123\over
// 正则应为
str4.match(/\\open.*\\over/g)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏