确定是否存在来自更改列表的单词并相应地设置下一个条件

时间:2014-03-07 10:50:23

标签: c# regex

一个不那么明确的标题,我知道......

以下是我在RegEx(C#)中寻找的内容: 我有两个改动清单,比如说(aa | bb)& (XX | YY)。 我想根据之前的第一个列表中是否有项目来设置第二个列表的前缀。

例如,如果第一个列表中有一个字符串,则第二个列表应以j或p为前缀。

如果不是 - 它应该以o或t作为前缀。

一些样本:

aa jxx <- Match
aa pyy <- Match
bb nxx <- Does not match
oxx <- Match
jxx <- Does not match

如何在RegEx中实现这一目标?

谢谢!

2 个答案:

答案 0 :(得分:0)

试试这个:

^((aa|bb)\s+[jp](xx|yy))|([ot](xx|yy))$

基本上它有两个主要的正则表达式条件由管道(|)分隔。 ((aa|bb)\s+[jp](xx|yy))([ot](xx|yy))

答案 1 :(得分:0)

试试这个:

(?:[ot](xx|yy))|(?:(aa|bb)\s[jp](xx|yy))

演示:

http://regex101.com/r/hH0zO6


提示:我所做的只是将您的规范“翻译”为正则表达式。 : - )