Perl Regex";不是";(消极前瞻)
我不太确定这种类型的正则表达式的正确措辞是什么,但基本上我要做的是匹配任何以“/”开头但后面没有“bob/”的字符串,例如 因此,这些将匹配:Perl Regex";不是";(消极前瞻),regex,perl,regex-lookarounds,Regex,Perl,Regex Lookarounds,我不太确定这种类型的正则表达式的正确措辞是什么,但基本上我要做的是匹配任何以“/”开头但后面没有“bob/”的字符串,例如 因此,这些将匹配: /tom/ /tim/ /steve 但这些都不会 tom tim /bob/ 我相信答案非常简单,但我在任何地方都很难找到“regex not”。我肯定有一个更为华丽的词来形容我想要的东西,它会带来好的结果,但我不确定它会是什么 编辑:我已更改了标题,以指示我要查找的内容的正确名称您可以使用负面前瞻(记录在下): 可能是/^\/(?!bob\/)/
/tom/
/tim/
/steve
但这些都不会
tom
tim
/bob/
我相信答案非常简单,但我在任何地方都很难找到“regex not”。我肯定有一个更为华丽的词来形容我想要的东西,它会带来好的结果,但我不确定它会是什么
编辑:我已更改了标题,以指示我要查找的内容的正确名称您可以使用负面前瞻(记录在下):
可能是/^\/(?!bob\/)/,但你已经了解了要点。谢谢@GoldenNewby Woops忽略了问题的这一部分,默认正则表达式标志现在是一个特性,
^
最好写成\a
。使用交替分隔符和/x
,它看起来像m |\A/(?!bob/)\x
@brian d foy,暗示存在此功能是荒谬的,这意味着/^/
必须更改为/\A/
,/$/
到/(?=\n?\z)/
,/.//./.
到//////.
//./.]/
@ikegami:$
无论如何都应该是\z
更频繁;我并非没有理由使用并行\a
那么/jimbob/
呢?那/bob/apples?就我而言/jimbob/还行,但/bob/apples不行
/^\/(?!bob\/)/