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 用于匹配序列的正则表达式,后跟另两个序列中的任意一个_Regex - Fatal编程技术网

Regex 用于匹配序列的正则表达式,后跟另两个序列中的任意一个

Regex 用于匹配序列的正则表达式,后跟另两个序列中的任意一个,regex,Regex,我正在尝试为java编写正则表达式,以匹配以下字符串示例: my_phrases=[phrase1, phrase2] my_phrases=[phrase2, phrase1] 因此,顺序my_phrases=后接phrase1和phrase2的顺序应该匹配。 我所做的: ^my_phrases.?(phrase1,phrase2|phrase2,phrase1)$ 它不起作用。 你能帮忙吗?像这样的事情也许 ^my_phrases=\[((phrase1, phrase2)|(phr

我正在尝试为java编写正则表达式,以匹配以下字符串示例:

my_phrases=[phrase1, phrase2]
my_phrases=[phrase2, phrase1]
因此,顺序
my_phrases=
后接
phrase1
phrase2
的顺序应该匹配。 我所做的:

 ^my_phrases.?(phrase1,phrase2|phrase2,phrase1)$
它不起作用。
你能帮忙吗?

像这样的事情也许

 ^my_phrases=\[((phrase1, phrase2)|(phrase2, phrase1))\]$

像这样的事情也许

 ^my_phrases=\[((phrase1, phrase2)|(phrase2, phrase1))\]$

您的正则表达式不起作用,因为它没有考虑
[
]
以及
后面的空格。您可以尝试这样的正则表达式:

^my_phrases.*(phrase1,\s*phrase2|phrase2,\s*phrase1).*$

当然,“完美”正则表达式取决于您想要匹配的内容,例如,那些
[
]
等实际上是可选的还是强制性的。

您的正则表达式不起作用,因为它没有考虑
[
]
以及
后面的空格。您可以尝试这样的正则表达式:

^my_phrases.*(phrase1,\s*phrase2|phrase2,\s*phrase1).*$

但当然,“完美”正则表达式取决于您想要匹配的确切内容,例如那些
[
]
等实际上是可选的还是强制性的。

这是一种通用的:

/^(my_phrases=\[([^,]+),\s([^,]+)\])$/gm
比赛1

  • [0-29]
    myu短语=[phrase1,phrase2]
  • [12-19]
    phrase1
  • [21-28]
    phrase2
  • 比赛2

  • [30-59]
    myu短语=[phrase2,phrase1]
  • [42-49]
    phrase2
  • [51-58]
    phrase1
  • 这有点具体:

    /^(my_phrases=\[(phrase1|phrase2),\s(phrase1|phrase2)\])$/gm
    
    比赛1

  • [0-29]
    myu短语=[phrase1,phrase2]
  • [12-19]
    phrase1
  • [21-28]
    phrase2
  • 比赛2

  • [30-59]
    myu短语=[phrase2,phrase1]
  • [42-49]
    phrase2
  • [51-58]
    phrase1

  • 这是一般性的:

    /^(my_phrases=\[([^,]+),\s([^,]+)\])$/gm
    
    比赛1

  • [0-29]
    myu短语=[phrase1,phrase2]
  • [12-19]
    phrase1
  • [21-28]
    phrase2
  • 比赛2

  • [30-59]
    myu短语=[phrase2,phrase1]
  • [42-49]
    phrase2
  • [51-58]
    phrase1
  • 这有点具体:

    /^(my_phrases=\[(phrase1|phrase2),\s(phrase1|phrase2)\])$/gm
    
    比赛1

  • [0-29]
    myu短语=[phrase1,phrase2]
  • [12-19]
    phrase1
  • [21-28]
    phrase2
  • 比赛2

  • [30-59]
    myu短语=[phrase2,phrase1]
  • [42-49]
    phrase2
  • [51-58]
    phrase1

  • 您可以这样对它们进行分组:
    ^my_短语。((短语1,短语2)|(短语2,短语1))$
    不能匹配
    =[/code>,并且
    将不匹配
    ,[space]
    @MariaDeleva这一个不起作用。这一序列是行中唯一的东西吗?结构是否如图所示:字母字符,后跟等号、方括号、短语1、逗号、空格、短语2、闭合方括号。@MariaDeleva看起来和我写的一模一样,是的。我遇到了
    不匹配的问题?
    不匹配
    =][,
    您可以这样对它们进行分组:
    ^my_短语。((短语1,短语2)|(短语2,短语1))$
    不能匹配
    =[/code>,并且
    将不匹配
    ,[space]
    @MariaDeleva这一个不起作用。这一序列是行中唯一的东西吗?结构是否如图所示:字母字符,后跟等号、方括号、短语1、逗号、空格、短语2、闭合方括号。@MariaDeleva看起来和我写的一模一样,是的。我遇到了
    不匹配的问题?
    不匹配
    =][,
    ^my_短语=\[((短语1,短语2)|(短语2,短语1))\]$
    您需要在
    周围再设置一组
    ()
    ,或者它包括
    []
    你的绘图速度更快,与我即将发布的内容几乎相同。这不是最可靠的方法,但符合所写的问题。
    ^my_短语=\[((短语1,短语2)|(短语2,短语1))\]$
    你需要在
    周围再设置一组
    ,或者它包括
    []
    您的绘图速度更快,这与我将要发布的内容几乎相同。这不是最可靠的方法,但符合编写的问题。