在一次通话中多次更换

时间:2018-04-30 11:46:08

标签: javascript regex function replace

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

.replace(/#.*$/,'')

被使用。 删除字符串末尾可能的斜杠

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

被使用。

要删除可能的哈希值和/或可能的斜杠,请使用.replace(/#.*$/,'').replace(/\/$/, '')。正确?

.replace(/#.*$/,'').replace(/\/$/, '')的任何可能的简写?

谢谢。

2 个答案:

答案 0 :(得分:2)

你可以同时使用一个正则表达式:

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

编辑:

如果您还要删除之间的#

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

编辑:

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

.replace(/#.*$|\/*$/, '')

答案 1 :(得分:1)

您有两个遵循类似“方案”的正则表达式:<SOME_SPECIFIC_PATTERN> + $。在这些情况下,如果在$之前存在一系列模式,则grouping construct很容易使用alternation operator

/(?:#.*|\/)$/
 ^^^   ^  ^

其中

/(?:<PATTERN_1>|<PATTERN_2>|<PATTERN_N>)$/

但是,为了匹配主题标签,您可能需要使用#\w+#和1+个字符)或#\S+# }和1+非空白字符模式。