首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REGEX表达式:在点或斜杠+验证其他单词后获取ID

REGEX表达式:在点或斜杠+验证其他单词后获取ID
EN

Stack Overflow用户
提问于 2021-01-08 21:42:26
回答 1查看 67关注 0票数 1

如果可能的话,我希望使用REGEX表达式获取图像的id。ID是在/之后或在最后一个点.之后的数字,如下所示:

代码语言:javascript
复制
gallery/image/89

gallery/image/trip-to-ireland.89

但是,即使没有可用的ID,以下内容也应该与REGEX表达式匹配:

画廊/图像

画廊/图像/

画廊/图像/89

画廊/图像/89/

画廊/图片/爱尔兰

画廊/图片/爱尔兰/

画廊/图片/爱尔兰之旅.89

gallery/image/trip-to-ireland.89/

gallery/image/trip-2-to-ireland.4589/

小心,下面的不应该与匹配(要么是因为有很多/,要么没有. (因此它不是真正的id))

“-不应该匹配-”

画廊/图像//

画廊/图像/89//

画廊/图像/4m94

画廊/图像/94/notok

画廊/图像/4m945m6

到目前为止,这是我的原则,但效果并不完美.

代码语言:javascript
复制
RewriteRule ^gallery/image(?:/[^/]*?([0-9]+))?/?$ gallery/gallery.php?image=$1 [L,QSA]

https://regex101.com/r/88azeh/12

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-08 22:02:14

您可以使用

代码语言:javascript
复制
^gallery/image(?:/(?:[^/\d]+/?|(?:[^/]*[/.])?(\d+)/?)?)?$

regex演示

详细信息

  • ^ -字符串的开始
  • gallery/image -一个文字字符串
  • (?:/(?:[^/\d]+/?|(?:[^/]*[/.])?(\d+)/?)?)? -一个可选的序列:
    • / -a / char
    • (?:[^/\d]+/?|(?:[^/]*[/.])?(\d+)/?)? -一个可选的序列:
      • [^/\d]+/? -除/和位数以外的任何一个或多个字符,然后是可选的/
      • | -或
      • (?:[^/]*[/.])? -从/到最后一个/.尽可能多地使用零或多个字符的可选序列
      • (\d+) -第1组:一个或多个数字
      • /? -一个可选的/字符

  • $ -字符串的末端。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65636803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档