这个正则表达式做了什么?

时间:2010-06-15 09:53:03

标签: php regex

^.+\\(.*\\)

我正在努力解决这个问题,我们将非常感谢任何帮助......

还有一个网站允许您粘贴正则表达式,然后以纯文本形式吐出这意味着什么?

5 个答案:

答案 0 :(得分:3)

  

还有一个网站允许您粘贴正则表达式,然后以纯文本形式吐出这意味着什么?

例如,Regular Expression Analyzer为您的正则表达式^.+\\(.*\\)提供了此结果:

Sequence: match all of the followings in order
    BeginOfLine
    Repeat
        AnyCharacterExcept\n
        one or more times
    (
    Repeat
        AnyCharacterExcept\n
        zero or more times
    )

答案 1 :(得分:2)

其他人已经描述了它的组件,所以我会给你一些例子 - 尽管我不确定\\(\\)代表什么。这取决于你的regexp引擎。如果它们与文字括号匹配,则此正则表达式将匹配以下字符串:

abc(def)
abcdef()

但不符合这些:

abc
(abc)
abc(def)ghi
(abc)def

如果它们匹配文字斜杠并打开/关闭一个组,那么你的正则表达式将匹配:

abc\def\

答案 2 :(得分:1)

  • ^是行的开头
  • 。是任何(非换行)字符
  • 。+是任何(非换行)字符中的一个或多个
  • 。*是任何(非换行)字符的零或更多

然后,\\(和\\)有两种可能性:

  • \\是反斜杠,(打开一个组。
  • \\(是一个字面开括号。

答案 3 :(得分:1)

^ text starts with
. any character
+ 1 or more instances
\\ \ character
( group start
* 0 or more characters
) group end

所以..字符串以几个任意字符开头,后面是\后跟optinally几个任何字符后跟\

答案 4 :(得分:1)

^从字符串的开头开始 .+匹配任何一种或多种角色(换行除外)
\\字面反斜杠
(开始组
.*任意类型的零个或多个(换行除外)
  \\字面反斜杠
)结束组

匹配后,捕获的组将有一个反斜杠和后面的任意数量的字符。