Lorem ipsum dolor sit amet consectetur adipisicing elit.
是否可以使用.replace
更改上述句子中amet
以外的所有内容?
答案 0 :(得分:9)
是。
str.replace(/(amet).+$/, '$1FOO')
如果"amet"
实际上包含奇怪的字符,则必须“正则引用”它们:.
,-
,[
等。
修改强>
解释正则表达式很难。
(amet)
=>捕获文字“amet”。捕获,因为你想保留那部分以进行替换,因为你想要替换之后的所有内容“amet”。.+
=>任何类型的字符(.
),但至少有一个(+
)。如果您想要至少0,则可以使用*
代替+
。$
=>主题的结尾(str
)。在这种情况下,这是不必要的,因为正则表达式是贪婪的,并且在你告诉它之前不会停止(并且因为.+
永远不会停止匹配,所以结束就是结束)$1
=>这是“第一场比赛”的占位符。在这种情况下,它是"amet"
,因为我们匹配了文字"amet"
。如果正则表达式是可变的,那么$1
将是未知的(这就是它的存在)。FOO
=>另一个文字(替代)。你的问题包括“......改变一切......” - 在我看来 - 意思是“替换为"FOO"
”。足够清楚?如果没有,我会很乐意尝试更好地解释。永远是一个很好的资源(对于年轻人和老年人,明智的,不那么明智的,专业人士和初学者):http://www.regular-expressions.info/
总结:正则表达式非常棒。