Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP提供的带注释的正则表达式字符串_Php_Regex_Comments - Fatal编程技术网

PHP提供的带注释的正则表达式字符串

PHP提供的带注释的正则表达式字符串,php,regex,comments,Php,Regex,Comments,下面是一个字符串 55:merge`AAA_CORE.p_EC=aaaa_bbb t[5]//ab b5//1 aaa aaa 我希望结果是令人满意的 55 merge `AAA_CORE.P_EC = aaaa_bbbbbt[5]; //ab b5 //1 aaa aaa 我试图通过正则表达式匹配所有子字符串 \s*(\d+):\s*([^\“]*)\s*((?:\/\/)[^\r\n]*)* 结果不对。我该怎么办?谢谢 ^\s*(\d+):\s*(*.?)\s*(//.*?)\s*(/.*

下面是一个字符串

55:merge`AAA_CORE.p_EC=aaaa_bbb t[5]//ab b5//1 aaa aaa

我希望结果是令人满意的

55
merge `AAA_CORE.P_EC = aaaa_bbbbbt[5];
//ab b5
//1 aaa aaa
我试图通过正则表达式匹配所有子字符串

\s*(\d+):\s*([^\“]*)\s*((?:\/\/)[^\r\n]*)*

结果不对。我该怎么办?谢谢


^\s*(\d+):\s*(*.?)\s*(//.*?)\s*(/.*?)$
…它有点粗糙,准备就绪,这在很大程度上取决于字符串始终与该格式匹配的严格程度。(注意:您需要更改分隔符,使其更像是
预匹配('~^\s*(\d+):\s*(*.*?)\s*(/.*?)\s*(/.*)(/.*)\s*(/.*)$)…);
看起来您正试图按照特定的规则解析某些文本,但这些规则并不十分清晰。您能提供更高的精度和上下文吗?如果字符串中没有双引号,为什么要使用
[^”]*
呢?它会将所有文本都带到字符串的末尾。您可以尝试
\s*(\d+):\s*([^;]*);\s*(\/\/.*)
()然后使用
\s+(?=\/\/)
模式拆分
修剪($matches[3])