我希望评估类似于下面的结构:如何将正则表达式的转换或进行XOR
房子是绿色的,但我最喜欢的颜色是蓝色红色和黄色
我确定房子的颜色用正则表达式是这样的:
房子\ S +(\ W \ S *)+(=(青色|绿? |红色|蓝色))
它是做什么的?该表达式返回下一场比赛:
房子是绿色的,但我最喜欢的颜色是蓝色
也就是说,返回最后一个匹配字符串在列表CharacterClass颜色表示,即它需要等到RED出现,但你看到的第一种颜色是绿色。
我该怎么办?我正在寻找的只是采取列表中提到的第一种颜色,并停止寻找,那就是告诉我,房子的颜色是绿色的,没有别的。
问题1:如何遍历字符串,直到只显示一个表达式,也就是说,如何将表达式(青色或绿色或蓝色或红色)转换为行为列表像异或。重要提示:只使用正则表达式,即不使用任何como.NET背景语言,Java,PERL等...
Q2:是否有使用正则表达式的其他选择,我错过了。那就是,我采取的道路是正确的?
在前进,谢谢大家
您可能需要从使用贪婪转换为非贪婪的正则表达式。不,我不知道如何在你的平台上做到这一点。你需要谷歌那一个。 – BoltBait 2012-04-03 23:28:27