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])
。