gpt4 book ai didi

javascript - 正则表达式仅匹配前后没有字符的字符串

转载 作者:行者123 更新时间:2023-12-02 14:43:50 25 4
gpt4 key购买 nike

我使用 JavaScript。我需要匹配一个像这样的字符串(如果我必须用真实的单词来描述它):

(前面没有)+(只有一个单词,不是可选的)+(“.couleur”(它是一个“固定”单词))+(只有一个可选空格)+(“=”(固定单词) )) + (只有一个可选空格) + (单词“vert”或“violet”或“orange”) + (后面没有任何内容)

我尝试过这个:

   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"]);

但是当我的字符串之前和之后有东西时,我不知道如何避免匹配,并且我不知道如何检查最后一部分是否是“vert”“orange”或“violet”来匹配它。

编辑:这里有一些匹配的字符串:

"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")

非常感谢您的帮助!

最佳答案

这个正则表达式应该满足您的需求:

var re = new RegExp('^\\w+\\.couleur\\s?=\\s?(vert|violet|orange)$', 'i');

你可以测试一下here .

关于javascript - 正则表达式仅匹配前后没有字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36771289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com