Javascript .替换超过某一点的所有内容
是否可以使用Javascript .替换超过某一点的所有内容,javascript,string,replace,Javascript,String,Replace,是否可以使用.replace来更改上面句子中amet之外的所有内容?的确如此 Lorem ipsum dolor sit amet consectetur adipisicing elit. 如果“amet”实际上包含奇怪的字符,则必须将它们“regex quote”起来:,-,[等 编辑 解释正则表达式很难 (amet)=>捕获一个文字“amet”。捕获,因为您想保留该部分以备替换,因为您想替换“amet”之后的所有内容 +=>任何类型的字符(),但至少有一个(+)。如果至少需要0,可以使
.replace
来更改上面句子中amet
之外的所有内容?的确如此
Lorem ipsum dolor sit amet consectetur adipisicing elit.
如果“amet”
实际上包含奇怪的字符,则必须将它们“regex quote”起来:
,-
,[
等
编辑解释正则表达式很难
=>捕获一个文字“amet”。捕获,因为您想保留该部分以备替换,因为您想替换“amet”之后的所有内容(amet)
=>任何类型的字符(+
),但至少有一个(
)。如果至少需要0,可以使用+
而不是*
+
=>主题的结尾($
)。在这种情况下,它是不必要的,因为正则表达式是贪婪的,在你告诉它之前是不会停止的(而且因为str
永远不会停止匹配,所以结尾就是结尾)+
=>这是“第一次匹配”的占位符。在这种情况下,它始终是$1
,因为我们匹配了一个文本“amet”
。如果regex是变量,那么这个“amet”
将是未知的(这就是它存在的目的)$1
=>另一个字面意思(替换)。你的问题包括“…在…之后改变一切”,在我看来,这意味着“替换为FOO
”“FOO”
最后总结:regex非常棒看看这是否有助于用什么替换
amet
之外的所有内容?替换(),使用s.substr(0,s.indexOf('amet'))+“您想添加什么…”
你能解释一下你的正则表达式吗?我能告诉你它匹配,并且记住,amet
的匹配,但是其余的是什么意思呢?特别是“$1F00”
?这正是我需要的。我能在替换中包含amet
,而不指定前面的内容吗?
str.replace(/(amet).+$/, '$1FOO')