单个正则表达式中的布尔逻辑 - 可能吗?

时间:2009-11-12 00:01:00

标签: regex

我们可以放入一个正则表达式,布尔逻辑:行以'a'或'b'开头。 通过使用FileHelpers实用程序触发问题,该实用程序具有“ExcludeIfMatchRegex”的文本框“Record Condition Selector”。实用程序是用C#编写的。 ^ a - 有效,只是不怎么写下来^ a ^ ^ b

4 个答案:

答案 0 :(得分:7)

使用|(管道)功能:

^a|^b

或者,在扩展格式中:

^a   # starts with an A
|    # OR
^b   # starts with a B

答案 1 :(得分:5)

这个怎么样:^ [ab]

答案 2 :(得分:3)

很难理解你,但是......如果你正在寻找匹配,如果字符串以“a”或“b”开头,否则失败,你可以这样做:

^(a|b)(.+)$

然后,当你得到比赛的组时,第一组将是“a”或“b”,第二组将是字符串的其余部分。

答案 3 :(得分:2)

  

特殊构造(?ifthen|else)允许您创建条件正则表达式。如果 if 部分的计算结果为true,那么正则表达式引擎将尝试匹配then部分。否则,将尝试使用 else 部分。语法由一对圆括号组成。开口括号后面必须跟一个问号,紧接着是if部分,紧接着是then部分。这部分后面可以跟一个垂直条和其他部分。您可以省略else部分,以及带有它的垂直条。

查看regex.info上的conditionals页面了解更多详情。