我想替换 Stk 的第一场比赛后的所有内容。
使用了这个,但它不起作用:text.replace('/(Stk\.).*/','')
示例字符串(字符串为两行):
123456 50 Stk.
test Stk.
我想删除测试Stk。
,因此第一个Stk之后的所有内容。
最佳答案
您需要从正则表达式文字周围删除单引号,使用 [\s\S]
来匹配替换模式中的任何字符和反向引用:
var text = "123456 50 Stk.\ntest Stk.";
console.log(text.replace(/(Stk\.)[\s\S]*/,'$1'));
详细信息:
(Stk\.)
- 捕获与Stk.
子字符串匹配的组 1,并将其存储在内存缓冲区中,可以使用$1< 访问其内容
来自字符串替换模式的反向引用[\s\S]*
- 匹配任意 0 个或多个字符,尽可能多(因此,直到整个字符串的末尾,无论是否是多行)。
关于javascript - jquery正则表达式在第一次出现匹配后替换所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43894181/