建议正则表达式

时间:2010-07-08 06:46:54

标签: regex flex-lexer

有人可以为下面的文字建议正则表达式

  

特征

     

文本文字更多文字

     

文字

     

...

     

文字

我尝试了Signature\n.*\),但这只适用于

  

特征
  文字)

基本上,一个以给定文本开头的表达式允许多个新行,并以)结束。

谢谢

4 个答案:

答案 0 :(得分:4)

问题是默认情况下.与新内容不匹配。

一个简单的选择是:

/signature[^)]*\)/i

[^)]*将匹配)以外的所有字符。

我不确定你是否在flex中有一个Dot-All标志。在JavaScript中,缺少/s标志,常见的解决方法是:

/signature[\s\S]*?\)/i

在这种情况下,您可能希望使用延迟量词*?,因此匹配到第一个),而不是最后一个。

答案 1 :(得分:0)

var pattern:RegExp = /^Signature.+\\)/m;

答案 2 :(得分:0)

您可以使用以下正则表达式

\ bSignature [\ S \ S] *?[)]

此正则表达式将首先查看签名,然后是包含字母数字字符的任何字符,\ n,等等,然后是

答案 3 :(得分:0)

Flex支持否定的字符类,所以你可以这样做:

/* definition section */

%%

Signature[^)]*\) { /* custom code */ }

%%

/* user subroutines */
相关问题