php - 正则表达式匹配字符串和数字

时间:2011-04-16 16:01:05

标签: php

我想匹配此

{format i=34 ds=11 k=a /}

$patern = "/\{format[a-z0-9=\s]?\/\}/i";

但结果为空

另外一个问题:

string string {format mat=34/} string string string string string string string string 

string string {format mat=34/} string string string string string string string string 
  1. $ pattern =“/ {format [a-z0-9 = \ s] * \ /} / i”;

    str_replace($ pattern,'test',$ strings);

    它将替换字符串中的所有格式,我想只替换第一个“格式”,并删除所有其他“格式”。怎么样 ?

  2. 获取匹配结果为“{format mat = 34 /}”。我想找到以“mat =”开头的字符串。

  3. 所以我有这个

    $string = "{format mat=34/}";
    $pattern = "/^mat=[0-9]*/"; // result is null
    $pattern = "/mat=[0-9]*/"; // ok, but also effect with "{format wrongformat=34/}"
    

    如何匹配以“mat =”开头的字符串

1 个答案:

答案 0 :(得分:3)

若要多次匹配,请使用*?只匹配一个计数:

"/\{format[a-z0-9=\s]*\/\}/i"