我使用javascript。 我需要匹配的会是这样的(如果我有真正的词语来形容它)的字符串:正则表达式只匹配前后无字符的字符串
(NOTHING前)+(只有一个字,不可选)+(“.couleur”(它(只有一个可选空间)+(“=”(固定单词))+(只有一个可选空间)+(单词“vert”或“violet”或“orange”)+ (后NOTHING)
我尝试这样做:
var re1='((?:[a-z][a-z]+))';
var re2='(\\.)';
var re3='(couleur)';
var re4='(\\s?)';
var re5='(=)';
var re6='(\\s?)';
var re7='((?:[a-z][a-z]+))';
var p = new RegExp(re1+re2+re3+re4+re5+re6+re7,["i"]);
但我没有找到如何避免匹配时,也有一些是和之前的东西我的字符串后,和我不知道如何检查最后一部分是否“垂直”“橙色”或“紫色”以匹配它。
编辑:这里有一些字符串,将匹配:
"test.couleur = vert"
"te.couleur = violet"
这里有一些字符串将不匹配:
" test.couleur = vert" (space before)
" e tdk.couleur = vert" (something before the first word)
"tdl.couleur = vert e" (something after the last word)
"tdk.couleur = gris" (gris is not "vert" or "orange" or "violet")
非常感谢您的帮助!
变化're7'到'VAR RE7 ='(? :VERT |橙色|紫色)“; '然后添加锚点,比如'var p = new RegExp(“^”+ re1 + re2 + re3 + re4 + re5 + re6 + re7 +“$”,“i”);' –
成功了, ! @AvinashRaj –