Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何精确匹配[Test,Dev,Prod]集合中的1?_Regex - Fatal编程技术网

Regex 如何精确匹配[Test,Dev,Prod]集合中的1?

Regex 如何精确匹配[Test,Dev,Prod]集合中的1?,regex,Regex,这是我迄今为止的代码:([T|T][E|E][S|S][T|T])([D|D][E|E][V|V])([p|p][R|R][O|D]) 我只想匹配这些集合中的一个,例如: 测试赛 测试-不匹配 测试开发-不匹配 您只需使用以下正则表达式: /^(test|dev|prod)$/gim 注意修饰符的使用,它使正则表达式不区分大小写 ^和$(修饰符)用于匹配字符串的开头和结尾,以便不匹配测试,等等 什么语言或文本编辑器?我认为问题在于开头没有^symbol,结尾没有$。根据使用的语言,您可以提到锚

这是我迄今为止的代码:
([T|T][E|E][S|S][T|T])([D|D][E|E][V|V])([p|p][R|R][O|D])

我只想匹配这些集合中的一个,例如:

  • 测试赛
  • 测试-不匹配
  • 测试开发-不匹配

  • 您只需使用以下正则表达式:

    /^(test|dev|prod)$/gim
    
    注意修饰符的使用,它使正则表达式不区分大小写

    ^
    $
    (修饰符)用于匹配字符串的开头和结尾,以便不匹配
    测试
    ,等等


    什么语言或文本编辑器?我认为问题在于开头没有^symbol,结尾没有$。根据使用的语言,您可以提到锚定
    ^
    $
    @BartKiers谢谢您的评论,您是对的。我已经更新了我的答案,添加了关于
    ^
    $
    m
    修饰符的解释。但是现在,使用
    m
    修饰符,
    ^
    $
    与输入的开始和结束不匹配,而是与行的开始和结束匹配。换句话说,字符串
    “Dev\nFOO”
    现在也将匹配。不确定OP是否想要,或者是否知道。我只是建议使用模式
    /^(test | dev | prod)$/I
    谢谢,那么我如何从正则表达式的任何位置开始呢?示例:sampletexthere DEV-MATCH?语言是什么@里基库雷斯