首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REGEX表达式:在斜线后或在最后一个点之后获取两个字母

REGEX表达式:在斜线后或在最后一个点之后获取两个字母
EN

Stack Overflow用户
提问于 2021-01-08 15:22:48
回答 2查看 87关注 0票数 3

我想使用REGEX表达式获取一个国家的ISO代码(两个字母)

例如,对于国家Ireland,国际标准化组织代码是ie。可以在斜杠/之后或最后一次 .之后找到ISO代码。

这是我的RewriteRule

代码语言:javascript
复制
RewriteRule ^gallery/country(?:/[^/]*([a-zA-Z-9]{2}))?/?$ gallery/gallery.php?country=$1 [L,QSA]

这是一些有效的网址..。如果可用,我想选择ISO代码:

画廊/国家

画廊/国家/

画廊/国家/ie

画廊/国家/ie/

画廊/国家/爱尔兰

画廊/国家/爱尔兰/

画廊/乡村/爱尔兰-爱。ie

gallery/country/ireland-love.ie/

gallery/country/ireland.69-love.ie/

我已经尝试调整模板公式,我使用了几乎所有我的seo url,但我在这个方面有困难。这是我迄今为止所做的。

代码语言:javascript
复制
^gallery/country(?:/[^/]*([a-zA-Z-9]{2}))?/?$

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-08 15:30:27

您可以使用

代码语言:javascript
复制
^gallery/country/(?:.*[/.])?([a-zA-Z]{2})/?$

regex演示。详细信息:

  • ^ -输入的开始
  • gallery/country/ -一个文字字符串
  • (?:.*[/.])? -一个可选的模式匹配
    • .* -除行中断字符以外的任何零或多个字符尽可能多
    • [/.] -一个/.

  • ([a-zA-Z]{2}) -第1组:两个ASCII字母
  • /? -一个可选的/
  • $ -字符串的末端。
票数 2
EN

Stack Overflow用户

发布于 2021-01-08 15:26:32

请您根据您所展示的样品试一试。在参考组中捕获.之后的所有内容,并在这里重写时使用它。在测试任何URL之前,请确保清除浏览器缓存。

代码语言:javascript
复制
RewriteEngine ON
RewriteCond %{QUERY_STRING} ^$
RewriteRule \.([a-zA-Z]+){2}/?$ gallery/gallery.php?country=$1 [L]

以上将不检查URI的条件,以使其更具体到图库,只试着遵循。

代码语言:javascript
复制
RewriteEngine ON
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^gallery/country.*\.([a-zA-Z]+){2}/?$ gallery/gallery.php?country=$1 [L]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65631786

复制
相关文章

相似问题

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