【问题标题】:PHP REGEX single quote and white spacesPHP REGEX 单引号和空格
【发布时间】:2013-07-10 18:55:01
【问题描述】:

您好,我是 REGEX 的新手,希望能够找到包含任何字符、空格或单引号的字符串。这就是我所拥有的:

    preg_match('/title="([A-Za-z\'\w]+)"/', 'title="Some ' text"', $match);
    echo $match[1];

我想要这个输出:

    Some ' text

【问题讨论】:

  • 所以你想要一个正则表达式来选择任何字符串,或者你的意思是你只想要一个以任何字符开头的字符串,后跟一个空格和一个单引号?
  • “任何字符”是指“任何字母”?字符就像……从字母、数字到各种符号的“一切”。如果你真的是指字母,那么你不应该使用\w,因为它也接受数字和下划线。

标签: php regex match


【解决方案1】:

你应该在字符串中转义引号。

并将 \s 添加到您的正则表达式中,以匹配所有空格

\w 涵盖 a-zA-Z

 preg_match('/title="([\'\w\s]+)"/', 'title="Some \' text"', $match);
 echo $match[1];

【讨论】:

    【解决方案2】:

    这行得通,刚刚测试过。

    $match = array(); 
    $text = "title=\"Some ' text\""; 
    preg_match("/[a-z]*\s\'\s[a-z]*/i", $text, $match);
    echo print_r($match);
    

    会出来的

    Array ( [0] => Some ' text ) 1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      • 2012-08-17
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      相关资源
      最近更新 更多