【发布时间】:2013-07-29 18:36:59
【问题描述】:
我刚刚在http://regexcrossword.com/ 做了有趣的正则表达式填字游戏 - 发现我不明白量化组的含义,例如(.)+ 或 (.)*
让我试试http://ole.michelsen.dk/tools/regex.html,它提供了 JavaScript 和 PHP 正则表达式引擎:
要匹配的字符串是“Trololo!” (不带引号)。 (如果打开“全局匹配”改变了一些东西,它会被添加为primed版本,即JS',因为它在PHP模式下没有改变任何东西。)
JS, (.)+ => 0: Trololo! 1: !
JS', (.)+ => 0: Trololo!
PHP, (.)+ => 0: Trololo! 0: !
JS, (.)* => 0: Trololo! 1: !
JS', (.)* => 0: Trololo!
PHP, (.)* => 0: Trololo! 1: 0: ! 1:
JS, (.){5} => 0: Trolo 1: o
JS', (.){5} => 0: Trolo
PHP, (.){5} => 0: Trolo 0: o
JS, (.){4} => 0: Trol 1: l
JS', (.){4} => 0: Trol 1: olo!
PHP, (.){4} => 0: Trol 1: olo! 0: l 1: !
这是什么语义,有什么规范的答案吗?
【问题讨论】:
-
什么是
JS和JS'?有什么区别? -
我认为该网站没有为您提供正确的组。请改用regexplanet.com。
标签: javascript php regex regex-group quantifiers