使用php获取以哈希标记开头的所有行

使用php获取以哈希标记开头的所有行,php,regex,Php,Regex,我想从ex的几行代码中获取以哈希标记开头的所有行: #title : Test Ticket Hotel : Test Hotel #Category : Ticket Test Note : This is just test note #Start Date : 11/19/2015 #End Date : 11/20/2015 #Emails : demos@gmail.com,test@gmail.com #Flag : Call priority : High 所以我试着按照下面的

我想从ex的几行代码中获取以哈希标记开头的所有行:

#title : Test Ticket 
Hotel : Test Hotel
#Category : Ticket Test
Note : This is just test note
#Start Date : 11/19/2015
#End Date : 11/20/2015
#Emails : demos@gmail.com,test@gmail.com
#Flag : Call
priority : High
所以我试着按照下面的代码行来做

preg_match_all("/^#(.*)$/m",$output,$m);
但是它不起作用,请给我一些其他的建议

谢谢

试试这个:

preg_match_all("/^\#(.*)$/m",$output,$m);
  • ^
    在行首断言位置

  • \\\\
    逐字匹配字符

  • *
    匹配任何字符(换行符除外)

  • $
    在行尾断言位置

  • m
    修改器:多行。使^和$匹配每行的开始/结束(不仅仅是字符串的开始/结束)

  • 是正则表达式中的delimeter。因此,从表达式中转义角色:

    preg_match_all("/^\#(.*)$/m",$string,$m);
    

    我已经试过了,但它不起作用,所以我也问同样的问题thing@bobblebubble这和OP在他的问题中写的完全一样。@Naruto我以为他只是把变量弄乱了,“
    $m
    ”中的输出是什么?@SanjayRathod:检查这个,然后。你发现你的错误了吗?我想你会的。@bobblebble.Thank,Edited。那么现在你的答案和OPs答案之间的区别是什么?这里不需要转义
    ,这里的区别是转义
    字符
    $m=“#标题:试票酒店:试票酒店#类别:试票备注:这只是试票备注#开始日期:2015年11月19日#结束日期:2015年11月20日#电子邮件:demos@gmail.com,test@gmail.com#Flag:callpriority:High“$x=preg#u match#u all(“/^\#(.*)$/m“,$m$output)
    这不会有任何区别OP的正则表达式工作得很好检查,我想我已经说过你已经逃过了
    没有其他的,这不会有任何区别