正则表达式中的成对字符

时间:2016-04-02 23:12:26

标签: c++ regex perl

我希望这很简单,但我无法解决如何在正则表达式中匹配可选字符的问题。正则表达式不是我以前必须做的事情。

我希望能够匹配" = N"," = B"," = R"或" = Q"在一个字符串中,可选地 - 但如果它们出现,它们必须与等号一起出现。那么=?[NBRQ]?不会为我工作,因为有人可以输入N' N' N' N' N'没有伴随的等号。所以它必须是" = N"," = B"," = R"或" = Q"或者什么也没有。

1 个答案:

答案 0 :(得分:4)

如果您需要生成多个正则表达式生成可选项,请将它们括在括号中,捕获或不捕获:

(=[NBRQ])?

以上内容与可选的=N=B=R=Q相匹配。由于问号出现在括号后面,因此整个组是可选的,而不是其各个部分。