您的位置:首页 > 其它

正则

2015-12-30 12:10 260 查看
正则一直是我的短板。以下是收集的一些例子:

1:需求,形如字符串 “21-78区TapTeam阳光” ,开始是数字,中间一横杆,然后继续是数字,然后是一个 “区”,然后后面连接一串字符串,要将开始数字,横杆后第一串数字,“区” 后面的字符串匹配出来。

代码如下:

$pattern = '/(\d+)\-(\d+)区(.*)/';
$dirvalue = '21-78区TapTeam阳光';
preg_match($pattern,$dirvalue, $arr);
//得到的匹配值:
$arr = Array
(
    [0] => 21-78区TapTeam阳光
    [1] => 21
    [2] => 78
    [3] => TapTeam阳光
)


官方对preg_match的解释是:
int preg_match ( string
$pattern
, string
$subject
[, array
&$matches
[, int
$flags
=
0 [, int
$offset
=
0 ]]] )

pattern

要搜索的模式,字符串类型。

subject

输入字符串。

matches

如果提供了参数
matches
,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。
再来看这段正则:$pattern = '/(\d+)\-(\d+)区(.*)/';第一个匹配文本用()括起来,(\d+),然后是连接符 ‘-’,

下一个匹配文本(\d+),然后是连接符 ‘区’,然后接着是下一个文本(.*),如此,三个匹配需要的文本就匹配出来了,若更多的话,根据当前规则,继续添加即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: