我正在尝试提取以下模式{#56DS1e5R9w7v}
,即:
有什么想法吗?
谢谢
答案 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结尾}}
希望这有帮助!