2011-07-15 53 views
-1

我想创建一个匹配任何小写字母的正则表达式,但不包括'return'和'while',是否可以这样做?我不想解决这样的:正则表达式匹配小写字词,但使用Flex排除某些单词(快速词法分析器)

return {/*nothing*/} 
while {/*nothing*/} 
[a-z]+ {/*some code*/} 
+0

此文档是否支持您的FLEX版本? http://flex.sourceforge.net/manual/Patterns.html#Patterns –

+0

不,我的版本是flex 2.5.35 – xudifsd

+1

我看了上面的评论中的文档,并且找不到办法去做,除了你描述。你为什么不接受? –

回答

0

我不是你想要的100%清楚,但这可能会有所帮助:

\b(?!(?:return|while)\b)[a-z]+ 

它匹配

\b      # A word break. 
(?!(?:return|while)\b) # This is a negative look around 
         # saying don't match if a return 
         # or while is matched followed by 
         # a word break. 
[a-z]+     # Match 1 or more lowercase letters. 
+0

这是我为FLEX找到的一些文档。它没有提及单词边界'\ b'或负面预测'(?!regex)'。 http://flex.sourceforge.net/manual/Patterns.html#Patterns –

+0

嗯,我知道你的意思,也许你的答案会在一些正则表达式系统中工作,但flex不支持“!”和“\ b” – xudifsd

相关问题