繁体   English   中英

Flex正则表达式转换帮助

[英]Flex Regular Expression Conversion Help

我在将正则表达式从Python转换为Flex时遇到问题。 我的字符串是这样的:

SELECT "col", othercol,\n "othercol3" FROM doesn'tmatter...

Python匹配就好了:

>>> re.search('select(.*?)from', 'SELECT "col", othercol,\n "othercol3" FROM doesn\'tmatter...', re.DOTALL|re.IGNORECASE).groups()[0]

' "col", othercol,\n "othercol3" '

但是当我在Flex中尝试时:

var pattern:RegExp = /select(.*?)from/ig;
var match:Array = pattern.exec('SELECT "col", othercol,\n "othercol3" FROM doesn\'tmatter...');
trace(match);

match始终以null结尾。 我究竟做错了什么? 我相信对于经验丰富的Flex程序员来说这是显而易见的...

尝试使用众多Flex正则表达式测试器之一:

http://www.idsklijnsma.nl/regexps/

一方面,您正在使用dotall等,所以您可能想知道Flex为此使用了“ s”标志。 并且“ x”标志会忽略空格等。例如,

pattern:RegExp = /select.+?from/gis;

在您的榜样上对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM