URL 内字母和数字的正则表达式
Regex For Letters and Numbers Within URL
我正在尝试匹配一些 URLS 作为使用 Golang 的概念证明。我不是最擅长正则表达式的人,我需要一些东西来匹配反斜杠后的季号或剧集号。这是一个例子:
https://URL.com/program/something-a/s1/e1/title
https://URL.com/program/something-a/e12/title
季数最多可达两位数(/s12
、/s13
),剧集最多可达三集(例如/e100
)。执行此操作的最佳方法是什么?
编辑:这是我目前所做的尝试:
(\/s.\/)
或
(\/e.\/)
似乎适用于单个数字,但当你达到 /e12/
之类的东西时就不行了。当我试图找到两者都匹配的东西时,比如
(\/s[0-9][0-9]\/)
它不会选择只有一个数字的剧集或系列(例如 /s2/
)。
s(\d{1,2})/e(\d{1,3})
工作原理
- s 匹配字母 s
- (子匹配捕获组开始
- \d 匹配单个数字
- {1,2} 至少1个不超过2个前面的表达式(是一个数字)
- ) 捕获组结束
- / 文字斜杠字符
- e 匹配字母 e
...然后还有另一个序列,但是是 3 位数字,而不是 2
我正在尝试匹配一些 URLS 作为使用 Golang 的概念证明。我不是最擅长正则表达式的人,我需要一些东西来匹配反斜杠后的季号或剧集号。这是一个例子:
https://URL.com/program/something-a/s1/e1/title
https://URL.com/program/something-a/e12/title
季数最多可达两位数(/s12
、/s13
),剧集最多可达三集(例如/e100
)。执行此操作的最佳方法是什么?
编辑:这是我目前所做的尝试:
(\/s.\/)
或
(\/e.\/)
似乎适用于单个数字,但当你达到 /e12/
之类的东西时就不行了。当我试图找到两者都匹配的东西时,比如
(\/s[0-9][0-9]\/)
它不会选择只有一个数字的剧集或系列(例如 /s2/
)。
s(\d{1,2})/e(\d{1,3})
工作原理
- s 匹配字母 s
- (子匹配捕获组开始
- \d 匹配单个数字
- {1,2} 至少1个不超过2个前面的表达式(是一个数字)
- ) 捕获组结束
- / 文字斜杠字符
- e 匹配字母 e
...然后还有另一个序列,但是是 3 位数字,而不是 2