Regex 用于查找第一个单斜杠和最后一个斜杠的正则表达式
这是我的url结构Regex 用于查找第一个单斜杠和最后一个斜杠的正则表达式,regex,regex-lookarounds,regex-negation,regex-group,regexp-replace,Regex,Regex Lookarounds,Regex Negation,Regex Group,Regexp Replace,这是我的url结构 abc.com/SOLAPUR\u JANATA\u SAHKARI\u BANK\u LTD.SOLAPUR/MAHARASHTRA/index.html 这些类型的模式会给php中的mkdir()带来问题 SOLAPUR\u JANATA\u SAHKARI\u银行有限公司SOLAPUR SOLAPUR\u JANATA\u SAHKARI\u BANK\u LTD.SOLAPUR./(/考虑目录) 我想要达到的是 获取第一个单斜杠和结束单斜杠之间的内容,即 SOLAPU
abc.com/SOLAPUR\u JANATA\u SAHKARI\u BANK\u LTD.SOLAPUR/MAHARASHTRA/index.html
这些类型的模式会给php中的mkdir()带来问题
SOLAPUR\u JANATA\u SAHKARI\u银行有限公司SOLAPUR
SOLAPUR\u JANATA\u SAHKARI\u BANK\u LTD.SOLAPUR./(/考虑目录)
我想要达到的是
获取第一个单斜杠和结束单斜杠之间的内容,即
SOLAPUR\u JANATA\u SAHKARI\u银行有限公司SOLAPUR/MAHARASHTRA
并替换。与@
SOLAPUR\u JANATA\u SAHKARI\u银行_LTD@SOLAPUR/马哈拉施特拉邦/
请推荐正则表达式
提前感谢。您可以尝试以下匹配:
^.*?\/(.+)\.(.+\/).*$
替换为\1@\2
请在此处尝试:
说明:
:匹配输入的开头以及第一个^.*?\/
之前的所有内容/
是非贪婪(惰性)的,因此它将只匹配到第一个*?
/
:在第一个(.+)\.
(以上)之后,直到/
为止,对所有内容进行分组捕获
:组捕获(.+\/)
之后直到最后一个
的所有内容<默认情况下,代码>+是贪婪的,因此/
将捕获任何匹配的+
,直到最后一个匹配为止/
:匹配剩余的内容*$
/
和
之间捕获,例如SOLAPUR\u JANATA\u SAHKARI\u BANK\u LTD
第二组在
之间捕获,包括最后一组/
,因此SOLAPUR/MAHARASHTRA/
因此,
\1@\2
产生了SOLAPUR\u JANATA\u SAHKARI\u银行_LTD@SOLAPUR/马哈拉施特拉邦/
该RegExp将起作用=>\/(.*)\/
let input='abc.com/SOLAPUR\u JANATA\u SAHKARI\u BANK\u LTD.SOLAPUR/MAHARASHTRA/index.html';
输出=输入。替换(/\/(.*)\//,'foo');
log(`output:${output}`)代码>您好,欢迎来到堆栈溢出。请提供您的代码以供进一步了解,并向社区展示您迄今为止所做的尝试。另外,请检查。正则表达式并不总是答案。为什么不用斜线拆分字符串,替换索引1+中的点,然后用斜线将其重新连接在一起。是的,可以这样做。但是我的用例还有其他问题。这就是我探索正则表达式的原因@Trenton Tramathank感谢您的解决方案!感谢您的帮助。谢谢您的帮助和快速回复。