Regex 如何为它生成正则表达式?
我想创建一个正则表达式来匹配如下字符串:Regex 如何为它生成正则表达式?,regex,pcre,autoit,Regex,Pcre,Autoit,我想创建一个正则表达式来匹配如下字符串: Function_Name ( 'parameters' ) Function Description 因此,我得到了名称、参数和描述。我正在编写Python正则表达式,但我认为将其传递给PHP或Perl并不困难 我的猜测是这样的,但我不确定第二个*,它是否能正确捕获EOL (\w+)\s\(\s'\s(.+)\s'\s\)\s(.*) 假设参数由分隔,下面的正则表达式应该适合您 (\w+)\s+\(([^\)]+)\s+(.+) 子组1>函数名
Function_Name ( 'parameters' ) Function Description
因此,我得到了名称、参数和描述。我正在编写Python正则表达式,但我认为将其传递给PHP或Perl并不困难 我的猜测是这样的,但我不确定第二个
*
,它是否能正确捕获EOL
(\w+)\s\(\s'\s(.+)\s'\s\)\s(.*)
假设参数由
分隔,
下面的正则表达式应该适合您
(\w+)\s+\(([^\)]+)\s+(.+)
子组1>函数名子组2>参数
子组3>功能描述如果您正在使用AutoIt,如标签所示,模式应为PCRE
(\w+)\s*\(\s*([^)]+)\s*\)\s*(.+)
这是Shiplu建议的模式的稍微修改版本。
它有可选的空格,因此它们不会在匹配中结束,右括号也是如此。也不需要对字符集中的括号进行转义
开始捕获组1(
匹配一个或多个单词字符(字母数字和下划线)\w+
关闭捕获组1)
匹配零个或多个空白字符\s*
匹配开场白)\(
匹配零个或多个空白字符\s*
开始捕获组2(
匹配一个或多个非右括号的字符[^]+
关闭捕获组2)
匹配零个或多个空白字符\s*
匹配右括号\)
匹配零个或多个空白字符\s*
开始捕获组3(
匹配一个或多个非空白字符+
结束捕获组3)