【问题标题】:What does this regexp pattern mean?这个正则表达式模式是什么意思?
【发布时间】:2011-03-21 19:44:21
【问题描述】:

我正在处理一些动作脚本文件,我发现了这个:

var pattern:RegExp = /.*\//  
var results:Array = pattern.exec(cardImageService.url);

我知道这是一个正则表达式,exec() 正在我的字符串中寻找我的模式。但是我应该如何理解这种模式呢?

谢谢!

【问题讨论】:

  • “正则表达式测试器”说:输入的字符串不是正则表达式!
  • @Robalot - 这可能取决于您的正则表达式引擎,特别是分隔符和转义字符是否被正确理解。

标签: regex actionscript


【解决方案1】:
/   - Regex delimiter

.   - Meta-character to match any character except newline.
*   - Quantifier for zero or more
\/  - A literal /. Since / is used as a delimiter, to match a literal / we 
      need to escape it.

/   - Regex delimiter

【讨论】:

    【解决方案2】:

    模式

    .*\/
    

    意思

    .*      # any character (except \n), zero or more times
    \/      # the forward slash "/"
    

    必须转义正斜杠,因为当写为正则表达式文字时(如您的情况),正斜杠已用于分隔正则表达式。

    在其他情况下,当正则表达式显示为字符串时,它看起来像 ".*/" 并且意思相同。

    实际上,这匹配到(包括)最后一个正斜杠的路径。

    /some/very/long/path/with.a.file - - - -匹配 - - - - -

    【讨论】:

      【解决方案3】:

      它匹配任意数量的字符(零个或多个),以/ 字符结尾。通常,这将抓取字符串中从开头直到(包括)字符串中最后一个正斜杠的所有内容。

      【讨论】:

        【解决方案4】:

        / 是正则表达式分隔符

        .* 选择 0 个或多个字符(尽可能多),不包括换行符

        \/ 是一个转义字符,后跟/,因此它将匹配/ 字符而不结束正则表达式

        / 是另一个正则表达式分隔符

        此正则表达式将搜索任意数量的字符,后跟 / 字符。

        【讨论】:

          【解决方案5】:

          .* 表示查找任何内容,任意次数(0 到无限),\/ 表示查找斜线,\ 是转义字符。本质上,正则表达式几乎可以匹配任何包含 / 的行。

          【讨论】:

            猜你喜欢
            • 2012-05-07
            • 1970-01-01
            • 1970-01-01
            • 2021-05-20
            相关资源
            最近更新 更多