如何使用正则表达式检测关键字

时间:2013-09-07 21:23:05

标签: php regex syntax-highlighting

我想在php中为java编写一个简单的代码荧光笔。其中一个关键字是“class”,并被<span class="keyword">class</span>取代 问题是span中的类也被标记为关键字。所以我需要一个正则表达式:"class",and after that not "=" 它试过/class[^=],但这完全是胡说八道。那么,我怎样才能创建这个而不是这个表达式呢?谢谢!

1 个答案:

答案 0 :(得分:2)

使用negative lookahead断言,match 'class' string, but only if it's not followed by '='任务的正则表达式更容易构建:

/class(?!=)/

但我担心这只是故事的开头。您应该匹配subclassclassless等字词吗?可能不是,所以关键字应该包含在\b(单词边界锚点)中:

/\bclass\b(?!=)/