Javascript 一次呼叫中的多个替换

Javascript 一次呼叫中的多个替换,javascript,regex,function,replace,Javascript,Regex,Function,Replace,删除字符串末尾可能的哈希 .replace(/#.*$/,'') 使用。 删除字符串末尾可能的斜杠 .replace(/\/$/, '') 使用 要删除可能的哈希和/或斜杠,请同时使用.replace(/\/$/,'').replace(/\/$/,'')。对吧? 的任何可能缩写。替换(/\/$/,“”)。替换(/\/$/,“”) 谢谢。您可以在一个正则表达式中同时使用这两个正则表达式: .replace(/[#\/]*$/, '') 编辑: 如果您还想删除中间的#: .replace(/

删除字符串末尾可能的哈希

.replace(/#.*$/,'')
使用。 删除字符串末尾可能的斜杠

.replace(/\/$/, '')
使用

要删除可能的哈希和/或斜杠,请同时使用
.replace(/\/$/,'').replace(/\/$/,'')
。对吧?

的任何可能缩写。替换(/\/$/,“”)。替换(/\/$/,“”)


谢谢。

您可以在一个正则表达式中同时使用这两个正则表达式:

.replace(/[#\/]*$/, '')
编辑:

如果您还想删除中间的
#

.replace(/#|[#\/]*$/g, '')
编辑:

如果您还想删除第一个
#
之后的所有内容:


您有两个遵循类似“scheme”的regexp:
+
$
。在这些情况下,如果在
$
之前有一系列模式,则可以很容易地使用带有:

在哪里

/(?:| |)$/

但是,为了匹配哈希标记,您可能希望使用
\w+
(a
和1+字字符)或
\S+
(a
和1+非空白字符)模式。

第一个模式不会替换结尾处的
。@Kokogino既有“abcd”$$ef.replace(/,“,”又有“/”,”和“/”replace“/”。”“abcd”。那么,为什么你认为第一个不能替换结尾处的?谢谢。你不需要
$
来替换
。替换(/#.\/$/,“”)
@Haradzieniec对不起,我的意思是它不仅替换结尾处的
,还替换中间的
。它会删除
后面的所有内容。对不起,但是“abcd#ef”。replace(/[\/]*$/,'')不会从字符串中删除#ef。
.replace(/#.*$|\/*$/, '')
/(?:#.*|\/)$/
 ^^^   ^  ^
/(?:<PATTERN_1>|<PATTERN_2>|<PATTERN_N>)$/