0

有人可以建议以下文本的正则表达式吗

签名

文本 文本 更多文本

文本

...

文字

我试过Signature\n.*\)了,但这仅适用于

签名
文本)

基本上是一个以给定文本开头、允许多行换行并以 . 结尾的表达式)

谢谢

4

4 回答 4

4

问题是.默认情况下不匹配换行符。

一个简单的选择是:

/signature[^)]*\)/i

[^)]*将匹配除 . 之外的所有字符)

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

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

在这种情况下,您可能想要使用惰性量词 ,*?因此您匹配到第一个),而不是最后一个。

于 2010-07-08T06:51:07.000 回答
0

尝试

var pattern:RegExp = /^Signature.+\\)/m;
于 2010-07-08T06:53:22.300 回答
0

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

\b签名[\s\S]*?[)]

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

于 2010-07-08T07:08:49.360 回答
0

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

/* definition section */

%%

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

%%

/* user subroutines */
于 2010-07-08T07:46:13.700 回答