从字符串中提取特殊哈希

时间:2011-02-08 13:09:18

标签: php regex

我正在尝试提取以下模式{#56DS1e5R9w7v},即:

  • {
  • 哈希
  • a-z,A-Z,0-9 (不一定是字母数字字符串)
  • }

有什么想法吗?

谢谢

3 个答案:

答案 0 :(得分:2)

尝试这种模式:

\{#([^}]*)\}

它应匹配所有不是}的字符,并将结果放在捕获的组中。如果出现问题,可能想要将[^}]*更改为\w*[A-Za-z0-9]*

示例(also on ideone.com):

$str = "hello {#56DS1e5R9w7v} good people";
preg_match_all("/\{#([^}]*)\}/", $str, $matches);

答案 1 :(得分:1)

像({#[a-z0-9] +?})?

preg_match('/(\{#[a-z0-9]+?\})/i', $sString)

答案 2 :(得分:1)

怎么样:

 <?php

     $code = '{#56DS1e5R9w7v}';
     $matches = preg_match('/^\{#[a-zA-Z0-9]+\}$/', $code); 

 ?>

这确保字符串以{开头,第二个字符必须是#,第3个字符,直到}必须是字母数字,并且必须以{{1结尾}}

希望这有帮助!