Javascript 正则表达式:检索字符串第一次出现之前的行
假设我有多行文字: 阿尔法 贝塔 伽马射线 三角洲 我只想使用JSJavascript 正则表达式:检索字符串第一次出现之前的行,javascript,regex,Javascript,Regex,假设我有多行文字: 阿尔法 贝塔 伽马射线 三角洲 我只想使用JSexec函数检索第一次出现elt之前的行,即: 阿尔法 贝塔 伽马射线 我试过了 /([\S\s]*)[^\n]*?elt.*/.exec(text)[1] 但它的回报是: 阿尔法 贝塔 伽马射线 d 您可能正在寻找/([\S\S]*)\n.*elt/ var text = "alpha\nbeta\ngamma\ndelta"; console.log(/([\S\s]*)\n.*?elt/.exec(text)[1]);
exec
函数检索第一次出现elt
之前的行,即:
阿尔法
贝塔
伽马射线
我试过了
/([\S\s]*)[^\n]*?elt.*/.exec(text)[1]
但它的回报是:
阿尔法
贝塔
伽马射线
d
您可能正在寻找
/([\S\S]*)\n.*elt/
var text = "alpha\nbeta\ngamma\ndelta";
console.log(/([\S\s]*)\n.*?elt/.exec(text)[1]);
其中:
“阿尔法β
伽马“
您可能正在寻找
/([\S\S]*)\n.*elt/
var text = "alpha\nbeta\ngamma\ndelta";
console.log(/([\S\s]*)\n.*?elt/.exec(text)[1]);
其中:
“阿尔法β
伽马“ 这将导致“伽马”: 这将导致“伽马”:
这个解决方案怎么样
var s = 'alpha\nbeta\ngamma';
s.split(/\n.*?amm/)[0].split('\n'); // ["alpha", "beta"]
var s = 'alpha\nbeta\ngamma\ndelta';
s.split(/\n.*?amm/)[0].split('\n'); // ["alpha", "beta"]
var s = 'alpha\nbeta\ngama\ndelta';
s.split(/\n.*?amm/)[0].split('\n'); // ["alpha", "beta", "gama", "delta"]
这个解决方案怎么样
var s = 'alpha\nbeta\ngamma';
s.split(/\n.*?amm/)[0].split('\n'); // ["alpha", "beta"]
var s = 'alpha\nbeta\ngamma\ndelta';
s.split(/\n.*?amm/)[0].split('\n'); // ["alpha", "beta"]
var s = 'alpha\nbeta\ngama\ndelta';
s.split(/\n.*?amm/)[0].split('\n'); // ["alpha", "beta", "gama", "delta"]