用于查找第一个斜杠和最后一个斜杠的正则表达式

问题描述 投票:0回答:1

这是我的网址结构。

abc.com/SOLAPUR_JANATA_SAHKARI_BANK_LTD.SOLAPUR/MAHARASHTRA/index.html

这些类型的模式在php中使用mkdir()产生问题SOLAPUR_JANATA_SAHKARI_BANK_LTD.SOLAPURSOLAPUR_JANATA_SAHKARI_BANK_LTD.SOLAPUR./ (./ considers directory)

我想实现的是在第一个斜杠和最后一个斜杠之间获取内容,即>

SOLAPUR_JANATA_SAHKARI_BANK_LTD.SOLAPUR/MAHARASHTRA

并替换。与@SOLAPUR_JANATA_SAHKARI_BANK_LTD@SOLAPUR/MAHARASHTRA/

请为此建议使用正则表达式。

提前感谢。

这是我的网址结构。 abc.com/SOLAPUR_JANATA_SAHKARI_BANK_LTD.SOLAPUR/MAHARASHTRA/index.html这些类型的模式在php SOLAPUR_JANATA_SAHKARI_BANK_LTD.SOLAPUR ...

您可以尝试这样的比赛:^.*?\/(.+)\.(.+\/).*$
替换为\1@\2
在这里尝试:https://regex101.com/r/i0WM2O/2

说明:

^.*?\/:匹配输入的开头以及所有内容,包括第一个/.*?是非贪婪的(懒惰),因此它仅在第一个/

之前匹配

[(.+)\.:分组捕获从第一个/(上方)到.的所有内容

    (.+\/):分组捕获.之后直至最后一个/的所有内容。 +默认为贪婪,因此.+将捕获任何匹配的/,直到最后一个。
  • .*$:匹配剩余的内容
  • 第一组在第一个/.之间捕获,例如SOLAPUR_JANATA_SAHKARI_BANK_LTD
  • 第二组在.到最后一个/之间捕获,所以SOLAPUR/MAHARASHTRA/
  • 所以\1@\2产生SOLAPUR_JANATA_SAHKARI_BANK_LTD@SOLAPUR/MAHARASHTRA/
regex regex-lookarounds regex-negation regex-group regexp-replace
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.