关于理解正则表达式的例子

时间:2013-02-18 20:48:27

标签: regex

我曾经读过以下正则表达式示例

average\(([^\)]*)\)

这代表什么?或者换句话说,如何理解这种正则表达式结构?

3 个答案:

答案 0 :(得分:0)

[^]]表示任何字符但是)

字符*表示最终重复

()匹配自己

\(... \)标识要稍后访问的表达式的一部分

答案 1 :(得分:0)

你的正则表达式匹配:

average(what%ever&is&not_containingAAAAAAAAAclosingParenthese)

此外,非转义括号通常会描述,它是您可能想要提取的正则表达式的一部分。

如果您有以下文字

This boy entered a pub and average(Hello I'm the group) ordered a beer. 

你的正则表达式会匹配

average(Hello I'm the group)

一部分。 匹配后,您可以提取

Hello I'm the group

因为你的正则表达式定义了一个组:

([^\)]*)

<强>解释

()[] * ^是关于正则表达式的特殊字符,但您可以使用反斜杠\来转义它们以将它们用作字符本身。

[^]]:匹配任何不是右括号的字符的字符类。 [^]] *:匹配此类中未定义的数字(0..n)字符。

希望它有所帮助,不知道它是否足够清楚。

答案 2 :(得分:0)

有一些网站是理解和学习正则表达式的重要资源。只需粘贴你的正则表达式即可解释。

我最喜欢的是regexper.com

enter image description here

还有regex101.com,它通过角色解释发生了什么,并在底部提供了一个方便的参考:

enter image description here