我已经检查等若干问题,像this,this,this,this和this,但我似乎无法与我的问题,从任何这些搞清楚。我很可能错过了一些简单的东西,但我不知道是什么。正则表达式匹配的可变长度字符串由前缀和后缀
我有类似下面的字符串: This is some random text{colA}that needs{COLBB} to be matched.
我需要匹配的A
和BB
,但没有别的。的规则如下
- 的前缀将只{COL(不区分大小写)
- 后缀将只}
- 匹配的字符将仅是字母
- 匹配必须区分不敏感
- 匹配将仅是1或2个字符
- 一个字断裂不能之前或前缀/后缀之后被假定
我设法得到这个:(?i:[a-z]{1,2}(?<={col[a-z]{1,2})(?=}))
它匹配{colaa}
但不{cola}
(在{cola}
时,它需要返回a
返回la
的情况下)。我无法弄清楚如何调整这两种不同的匹配情况。
我在.Net工作,非常感谢我在这件事上得到的任何帮助。我感到如此接近,但很遥远!
由于我们匹配大小写不敏感,所以[A-Za-z]可以是[a-z]。 – cjbarth 2012-03-14 01:39:49