Php 将正则表达式设置为全部或全部

Php 将正则表达式设置为全部或全部,php,javascript,regex,Php,Javascript,Regex,我有一个正则表达式: word1\/.+?\/word2($|[^\/]*) 我想把这个配上 word/2342/word2 但不是 word/2342/word2/lalallaa 一旦word2后面跟着斜杠,就根本不匹配 尽管如此,它仍将匹配第二个正则表达式的“word/2342/word2”部分。。。我希望它与任何东西都不匹配 如何修复此正则表达式?关于: word\/.+?\/word2$ ?关于: word\/.+?\/word2$ ?我试过:^(word1?\/.+?\/w

我有一个正则表达式:

word1\/.+?\/word2($|[^\/]*)
我想把这个配上

word/2342/word2
但不是

word/2342/word2/lalallaa
一旦word2后面跟着斜杠,就根本不匹配

尽管如此,它仍将匹配第二个正则表达式的“word/2342/word2”部分。。。我希望它与任何东西都不匹配

如何修复此正则表达式?

关于:

word\/.+?\/word2$

关于:

word\/.+?\/word2$

我试过:
^(word1?\/.+?\/word2($)
在mac的RegExr中工作,我输入了:
word/2342/word2/word/2342/word2/
,它只匹配第一个
word/2342/word2
,但这只会检查字符串是否以您要求的开头。。。甚至一个简单的<代码>(Word)\/[09] { 4 }/Word2将工作,并允许任何4个数字在中间。但你的问题让人困惑,你到底想从中得到什么?

我试过:
^(word1?\/.+?\/word2($)
,它在mac的RegExr中工作,我输入了:
word/2342/word2/word/2342/word2/
,它只匹配了第一个
word/2342/word2
,但这只会检查字符串是否以您要求的开头。。。甚至一个简单的<代码>(Word)\/[09] { 4 }/Word2将工作,并允许任何4个数字在中间。但是你的问题让人困惑,你到底想从中得到什么?

(?!\/)
替换
($)
,或者至少是
($)[^\/])
。现在,它将匹配任意数量的非斜杠-包括零。

(?!\/)
替换
($!\/)
,或者至少是
($)
。现在,它将匹配任意数量的非斜杠-包括零。

关于
(++\bword2\b)(?!\/)

关于
(++\bword2\b)(?!\/)
,在regex
/^abc$/
中如何,
^
仅在字符串开头查找模式,
$
仅在字符串结尾查找模式。结合起来,它将试图找到一个与整个字符串匹配的字符串,它就像是全部匹配或无匹配


因此,将要匹配的正则表达式放在字符串中的
abc

位置,在正则表达式
/^abc$/
中,
^
只在字符串的开头查找模式,
$
只在字符串的结尾查找模式。结合起来,它将试图找到一个与整个字符串匹配的字符串,它就像是全部匹配或无匹配


因此,将要匹配的正则表达式放在字符串中,而不是
abc

,尽管我认为我对您的问题理解得不够透彻,但从我对正则表达式的了解可以看出,它将继续解析整个字符串,直到最后。我不知道有什么方法可以在某个时刻阻止regex——尽管我从来没有研究过这样做。在后面添加一个
$
,以确保它在结尾?尽管我认为我对你的问题理解得不够好,但我可以从我对regex的了解中告诉你——它将继续解析整个字符串,直到最后。我不知道有什么方法可以在某一点上阻止regex——尽管我从来没有研究过这样做。在后面添加一个
$
,以确保它位于末尾?