我想用regex从URL中提取页面和页码。页码有几个变体:
fghghdsfs/page4
fghghdsfs/page-4
sfgsfgsfg/page=4
hteheth/page-4/
dhdghgd/page=4/
dghdghdh/page/4/
dghdghdh/page/4
fghghdsfs?page4
dhdghd?page-4
dghdg?page-4/
eyeyt?page=4
etyetyet?page=4/
nvnndgnd?page/4/
dghdghdh/page/4页数应在1到3位之间。
我尝试过使用这个正则表达式,但是我在识别/时遇到了问题。
(=|\?|\/)(page)(_|-|=|\d{1,3}|\/)发布于 2021-11-24 10:56:25
正则表达式有两个问题:
\d{1,3}在括号内。您的意思是:page后面跟着分隔符或页码。把它放在圆括号后面,并使它成为一个捕获组,这样以后您就可以提取它。page4不匹配。在小组后面放一个?。修复这些问题:
(=|\?|\/)(page)(_|-|=|\/)?(\d{1,3})
发布于 2021-11-24 10:56:40
您可以使用此正则表达式:
[=?/]page[_=/-]?(\d{1,3})RegEx详细信息:
[=?/]:匹配=、?或/page:匹配字符串page[_=/-]?:可选匹配_、=、/或-(\d{1,3}):匹配1到3位数字https://stackoverflow.com/questions/70094742
复制相似问题