Regex 正则表达式以确保字符串不完全匹配
我想构建一个正则表达式,只有当字符串不完全是“amp”时,它才应该匹配 我想要的是: 此字符串不应匹配:Regex 正则表达式以确保字符串不完全匹配,regex,string,match,Regex,String,Match,我想构建一个正则表达式,只有当字符串不完全是“amp”时,它才应该匹配 我想要的是: 此字符串不应匹配: “位于/美国/纽约/amp的场馆” 这些字符串应匹配: “位于/美国/纽约/安菲的场馆” “美国/纽约/露营地点” 我现在的正则表达式是: 场馆在\/([a-zA-Z0-9-+.]+)\/([a-zA-Z0-9-+.]+)\/([a-zA-Z0-9-+.]+) 我试过玩运算符打开和负前瞻: ^(?=amp)([a-zA-Z0-9-+'.]+) 但我想不出来。请帮助。使用 venues-in\
“位于/美国/纽约/amp的场馆” 这些字符串应匹配:
“位于/美国/纽约/安菲的场馆”
“美国/纽约/露营地点” 我现在的正则表达式是:
场馆在\/([a-zA-Z0-9-+.]+)\/([a-zA-Z0-9-+.]+)\/([a-zA-Z0-9-+.]+)
我试过玩代码>运算符打开和负前瞻:
^(?=amp)([a-zA-Z0-9-+'.]+)
但我想不出来。请帮助。使用
venues-in\/([a-zA-Z0-9-+'.]+)\/([a-zA-Z0-9-+'.]+)\/(?!amp$)([a-zA-Z0-9-+'.]+)
负前瞻语法是(?!pattern)
。$
用于确保选中的单词完全是不带后缀的amp
如果您的字符串可能类似于/united states/new york/amp/whatever中的场馆,请将前瞻调整为(?!amp(?$)\/)
使用
venues-in\/([a-zA-Z0-9-+'.]+)\/([a-zA-Z0-9-+'.]+)\/(?!amp$)([a-zA-Z0-9-+'.]+)
负先行语法是(?!pattern)
。$
用于确保检查的单词完全是amp
,没有后缀
如果您的字符串可能类似于/united states/new york/amp/whatever中的场馆,请将前瞻调整为(?!amp(?$)\/)
,我认为这会起作用
venues-in\/([a-zA-Z0-9\-+'.]+)\/([a-zA-Z0-9\-+'.]+)\/(?!amp$)([a-zA-Z0-9\-+'.]+)
我认为这会奏效
venues-in\/([a-zA-Z0-9\-+'.]+)\/([a-zA-Z0-9\-+'.]+)\/(?!amp$)([a-zA-Z0-9\-+'.]+)
为什么不匹配\bamp\b
,然后在程序中执行一个不相等的。在Perl中,这将是
if ($string !~ /\bamp\b/) {
# Do stuff with out amp
}
else {
# Do stuff with amp
}
为什么不为\bamp\b
匹配,然后在程序中执行一个不相等的。在Perl中,这将是
if ($string !~ /\bamp\b/) {
# Do stuff with out amp
}
else {
# Do stuff with amp
}
哪种语言/引擎?负前瞻性在这里很好,但并不总是受支持。哪种语言/引擎?负前瞻性在这里很好,但并不总是受支持。在字符类中转义破折号-
。@ToToTo不一定,大多数正则表达式引擎都可以处理范围后的破折号。不过这并不有害。当然,但是它对我来说似乎更干净。尽管如此,它还是被选中了。在字符类中转义破折号-
。@Toto不一定,大多数正则表达式引擎都可以处理一个范围后的破折号。虽然没有问题。当然,但它对我来说似乎更干净。尽管如此,它被选中了。在字符类中转义破折号-
。转义破折号-
in字符类。