c# - 匹配 url 末尾的模式的 C# 正则表达式
问题描述
我需要一个正则表达式,它匹配一个以-p123456.html结尾的 url 模式,因此它的结尾将有一个连字符和一个字母p,后跟.html之前的一系列数字。
这里有些例子:
- https://www.myurl.com/br/test-url-p04548023.html(匹配)
- https://www.myurl.com/sometext-p123.html(匹配)
- https://www.myurl.com/text-h504.html(不匹配)
- https://www.myurl.com/text.html(不匹配)
任何人都可以帮助我吗?
解决方案
这将适用于您的情况:.+\-p\d+\.html$
注意:你可以扩展它来做更多的 url 验证,但如果你知道你的输入总是一个 url,这将是快速和简单的。
解释:
.+
- 通配符开始字符串。匹配所有直到-p
您关心
\-p
- 匹配文字字符'-'
和'p'
. 注意:您不必逃避破折号,但我喜欢这样做,因为我不想将它与诸如[a-z]
. 你可以-p
在这里使用。
\d+
- 你的系列角色(1个或更多)
\.html
- 转义点 ( '.'
) 在这里很重要,因此它不仅仅是通配符。这匹配文字'.html'
$
- 匹配字符串的结尾,所以你知道 url 以结尾-p1234.html
推荐阅读
- android - 在 Android 上获得一个空的重复通知(iOS 工作正常)
- javascript - 在 MERN 堆栈应用程序中每天限制一票
- r - 如何在 R Markdown 表中包含存储的值?
- regex - 无法抓取,因为数据存在于相似的标签中,因此难以区分
- vim - 如何在插入模式下将光标设置为细,而在正常模式下仍被阻止
- android - 在jetpack compose中请求关注TextField
- javascript - 即使用户有一些播放列表,Spotify Web API 也会为用户播放列表返回空项目
- c++ - 涉及输出计时持续时间的 C++ 错误
- javascript - Javascript检查,如果数组元素等于var?
- tensorflow - 将多个不同序列长度的输入数据传递给 Keras