Javascript 当任何字符串跟随特定字符串时,如何捕获该字符串
我正在尝试捕捉在中的Javascript 当任何字符串跟随特定字符串时,如何捕获该字符串,javascript,regex,Javascript,Regex,我正在尝试捕捉在中的或在处的之后直到行尾的所有字符 例如,假设: 约翰在公园里玩 结果应该是: 公园。 我试过: text.match(/(?:in|at)\s+([\w\s].*)(\n)/g); 与Strig#match()一起使用时,g修饰符会从最终结果中忽略捕获。另外,\n不是必需的,因为匹配除换行字符以外的任何字符 请注意,\s+已经在或中的之后使用了所有空格,因此,\s在[\w\s]中是多余的,您可以只保留\w或\s 此外,如果您只想在这两个介词后面匹配,而不想在sin、sat等后
或在
处的之后直到行尾的所有字符
例如,假设:
约翰在公园里玩
结果应该是:
公园。
我试过:
text.match(/(?:in|at)\s+([\w\s].*)(\n)/g);
与Strig#match()
一起使用时,g
修饰符会从最终结果中忽略捕获。另外,\n
不是必需的,因为
匹配除换行字符以外的任何字符
请注意,\s+
已经在
或中的之后使用了所有空格,因此,\s
在[\w\s]
中是多余的,您可以只保留\w
或\s
此外,如果您只想在这两个介词后面匹配,而不想在sin
、sat
等后面匹配,那么将中的或at
作为整个单词进行匹配是有意义的
var text=“在公园里”;
var m=text.match(/\b(?:in | at)\s+(\w.*)/;
如果(m){
console.log(m[1]);
}
删除g
和(\n)
。抓取匹配[1]
/(?:in | at)\s+([\w\s].*)(\n)/g.exec(“约翰在公园里玩”)[1]
?