php/lua 正則匹配多行 單行註釋

<?php

$s = '/*aaaa
sss
*/*/';

preg_match('@/\*.*?\*/@s', $s, $match);

var_dump($match);

輸出

array(1) {
  [0]=>
  string(13) "/*aaaa
sss
*/"
}
php正則詳細資糧參考地址

匹配單行註釋

<?php
$str = " 
a = b; //asdf //saf
b = c; //asdf
    ";
$reg = '@\s*//.*$@m';

$res = preg_replace($reg,'',$str);

echo $res;

輸出

a = b;
b = c;


再來一個lua版的

local test = "int x; /* xx */ xx*/  int y; /* y */"

function string.gfind(test, patten)
  local i,j = 0,0;
  return function()
    i,j = string.find(test, patten, j+1)
    if(i == nil) then -- end find
      return nil 
    end 
    return string.sub(test, i, j)
  end 
end


for v in string.gfind(test, "/%*.-%*/") do
  print(v)
end
輸出

/* xx */
/* y */



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章