无法形成正则表达式
could not form a regex
我正在尝试构建一个与路径中的文件名相匹配的正则表达式。
这是我的例子 url
"../assets/sounds/toucObsSound_.mp3"
这是我的正则表达式
\b[^/]\w+[^.]
这有什么问题吗?它匹配所有字符
资产
声音
touchObsSound
正则表达式解释
忽略 / 并匹配所有内容,直到找到 。并忽略 .
我想我在这里做错了。有人帮忙吗?
这应该可以解决问题
/([^./]+)\.mp3$
它将匹配行尾最后一个 / 和 .mp3 之间的内容。在这种情况下,这就是您所要求的:toucObsSound_
这是一种根据需要调整它的好方法:
https://regex101.com/r/Er6kGQ/1
如果你需要删除 _ 你可以使用这个:
/([^./]+)\_.mp3$
您可以使用以下解决方案:
[^\/.]+(?=\.[^\/]*$)
参见 regex demo(注意 /
并不总是需要转义,这取决于您使用正则表达式的位置和方式)。
详情
[^\/.]+
- negated character class 匹配 /
和 .
以外的 1 个或多个字符
(?=\.[^\/]*$)
- 一个 positive lookahead 需要一个 .
,然后是 /
以外的 0+ 个字符,直到字符串的末尾($
) 紧靠当前位置的右侧。
我正在尝试构建一个与路径中的文件名相匹配的正则表达式。
这是我的例子 url "../assets/sounds/toucObsSound_.mp3"
这是我的正则表达式
\b[^/]\w+[^.]
这有什么问题吗?它匹配所有字符 资产 声音 touchObsSound
正则表达式解释
忽略 / 并匹配所有内容,直到找到 。并忽略 .
我想我在这里做错了。有人帮忙吗?
这应该可以解决问题
/([^./]+)\.mp3$
它将匹配行尾最后一个 / 和 .mp3 之间的内容。在这种情况下,这就是您所要求的:toucObsSound_
这是一种根据需要调整它的好方法:
https://regex101.com/r/Er6kGQ/1
如果你需要删除 _ 你可以使用这个:
/([^./]+)\_.mp3$
您可以使用以下解决方案:
[^\/.]+(?=\.[^\/]*$)
参见 regex demo(注意 /
并不总是需要转义,这取决于您使用正则表达式的位置和方式)。
详情
[^\/.]+
- negated character class 匹配/
和.
以外的 1 个或多个字符
(?=\.[^\/]*$)
- 一个 positive lookahead 需要一个.
,然后是/
以外的 0+ 个字符,直到字符串的末尾($
) 紧靠当前位置的右侧。