正则表达式匹配不以字母开头的字符串

时间:2013-12-04 11:18:29

标签: regex velocity

我们需要一个正则表达式来识别Apache速度语法,如注释和#foreach

前:

##Commenline #foreach
     #foreach($var in $vars)

    #end

这里我们想要一个正则表达式,它在第二行匹配#foreach,但不在第一行。我怎样才能构建一个RegEx。

2 个答案:

答案 0 :(得分:0)

您可以使用如下表达式:

(?m)^[ \t]*#(\w+)

匹配第二个#foreach#end

它匹配行的开头,后跟任意数量的空格,#和多个单词字符(#未包含在内,因此评论不匹配)。

(?m)用于设置多行模式。如果您的正则表达式不支持使用正则表达式API中的相应标志。

答案 1 :(得分:0)

试试这个:

^\s*#.*$

这将抓住整个目标线。如果你只想要第一个单词,试试这个:

^\s*#\w+