匹配包含已知字符串

时间:2017-04-15 01:50:25

标签: regex

我有一个像./this-needs-to-be-matched/knownstring/endofstring这样的字符串。

我总是知道 endofstring 是11个字符长

我已经用过这个,直到我意识到 - 符号不匹配

\w+\/knownstring\/\w{11}

现在我真的不知道如何匹配任何字符,包括减号。

结果应为:结果应为:this-needs-to-be-matched/knownstring/endofstring

我也尝试过:

\.\/.*\/knownstring\/\w{11}

还有其他不同的变化,所以我卡住了。

2 个答案:

答案 0 :(得分:1)

-添加到允许的字符列表中:

^\.\/[\w-]+\/knownstring\/\w{11}$

或只是“不是斜线”:

^\.\/[^\/]+\/knownstring\/\w{11}$

答案 1 :(得分:0)

我认为\.\/.*\/knownstring\/\w{11}实际应该有效,这究竟是什么问题?

如果endofstring需要匹配11个字符而不是更多,则可以添加单词边界符号\b

\.\/.*\/knownstring\/\w{11}\b

您可以测试此here