Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 建议正则表达式_Regex_Flex Lexer - Fatal编程技术网

Regex 建议正则表达式

Regex 建议正则表达式,regex,flex-lexer,Regex,Flex Lexer,有人能为下面的文本推荐正则表达式吗 签名 文本文本更多文本 正文 文本) 我尝试了签名\n.\,但这只适用于 签名 (文本) 基本上是一个表达式,它以给定的文本开头,允许多行新行,以)结尾 谢谢问题是默认情况下,与新的行不匹配 一个简单的选择是: /signature[^)]*\)/i [^)]*将匹配除)之外的所有字符 我不确定flex中是否有点全标记。在JavaScript中,缺少/s标志,常见的解决方法是: /signature[\s\S]*?\)/i 在这种情况下,您可能希望使用惰

有人能为下面的文本推荐正则表达式吗

签名

文本文本更多文本

正文

文本

我尝试了
签名\n.\
,但这只适用于

签名
(文本)

基本上是一个表达式,它以给定的文本开头,允许多行新行,以
结尾


谢谢

问题是默认情况下,
与新的行不匹配

一个简单的选择是:

/signature[^)]*\)/i
[^)]*
将匹配除
之外的所有字符

我不确定flex中是否有点全标记。在JavaScript中,缺少
/s
标志,常见的解决方法是:

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

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

问题是
默认情况下不匹配新的行

一个简单的选择是:

/signature[^)]*\)/i
[^)]*
将匹配除
之外的所有字符

我不确定flex中是否有点全标记。在JavaScript中,缺少
/s
标志,常见的解决方法是:

/signature[\s\S]*?\)/i
在这种情况下,您可能希望使用惰性量词,
*?
,因此您要匹配到第一个
,而不是最后一个。

试试看

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


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

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


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

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

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


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

Flex支持否定字符类,因此您可以执行以下操作:

/* definition section */

%%

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

%%

/* user subroutines */

Flex支持否定字符类,因此您可以执行以下操作:

/* definition section */

%%

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

%%

/* user subroutines */

文本和文本之间有新行..不知道为什么要换行:(请点击答案左侧对您最有帮助的复选框,接受您现有问题的答案。谢谢!这里flex表示gnu词法分析器(如在lex和yacc中)不适用于adobe flashIt..仅适用于flex使用签名[^]*)…文本和文本之间有新行..不知道为什么要换行:(请通过单击答案左侧对您最有帮助的复选框来接受现有问题的答案。谢谢!这里flex表示gnu词法分析器(如lex和yacc)不适用于adobe flashIt..仅适用于flex使用签名[^]*)…不熟悉Flex的正则表达式API,但这不应该是
s
标志而不是
m
标志吗?双反斜杠是必要的吗?不熟悉Flex的正则表达式API,但这不应该是
s
标志而不是
m
标志吗?是否需要双反斜杠?