Regex JS:匹配两个字符串之间的字符串,包括换行符

时间:2017-12-10 14:34:35

标签: javascript regex

我希望将两个字符串之间的字符串与Regex(包括换行符)匹配。

例如,我有下一个字符串:

$ sysctl kern.hv_support
kern.hv_support: 1

我需要在{count, plural, one {apple} other {apples} } plural,之间添加字符串。它将是one。 我试过这个正则表达式:

\n*space**space*

它有效,但不适用于JS。如何用JavaScript做到这一点?

2 个答案:

答案 0 :(得分:3)

要匹配包含换行符在内的所有内容,您可以使用[\s\S][^]



var str = `{count, plural,
  one {apple}
  other {apples}
} `;
console.log(str.match(/(?:plural,)([\s\S]*?)(?:one)/g));
console.log(str.match(/(?:plural,)([^]*?)(?:one)/g));




答案 1 :(得分:1)

它不起作用,因为您使用错误的正则表达式引擎进行测试。

 `/s` does not exist in the JS regex engine, only in pcre

必须是这样的:

/(?:plural,)((.|\n)*?)(?:one)/g

希望它有所帮助。