2011-01-26 53 views

回答

1
  • 在搜索字符串的开头从AZ一个字符:依次被1-3位^ [AZ] {1}
  • 空间,可能不包括(在端部): ([0-9] {1,3})? (([。[0-9] {1,3}){0,2})?可能不包含:
  • 后跟一个点和1-3位(重复0-2次)
4

甲击穿...

  • ^[A-Z]{1} - 从行的开头,匹配从AZ一个字符... [A-Z]
  • ([0-9]{1,3})? - 亚组\ 1 - 匹配一个空间,则号码[0-9] 1-3位数字{1,3},?使这一个可选。
  • ((\.[0-9]{1,3}){0,2})?$ - 亚组\ 3(嵌套在\ 2) - 匹配字面.然后一个数字[0-9] 1-3位长{1,3},匹配此前一组的0-2 {0,2},和可选由于?,所述$指定这场比赛是在线的末尾完成的。

  • i - 结束正则表达式,设置忽略大小写。这意味着,例如第一个[A-Z]可能是[a-z]而不会对比赛进行任何更改。

几个可能的样本:

B 472.983.421  (\1 = " 472" \2 = ".983.421") 

A     (\1 = "" \2 = "") 

C 18.1.1   (\1 = " 18" \2 = ".1.1") 

D 0.0.0   (\1 = " 0" \2 = ".0.0") 

d 0.0.0   (\1 = " 0" \2 = ".0.0") # works due to the #i option. 

等。

+0

所以它试图匹配一个IP地址或什么? – samquo 2011-01-26 23:08:40

1

preg_match总是返回一个int(如果匹配则返回1,否则返回0)。如果你想要一个数组,它会接受一个引用的thrid参数,这个参数将被结果填充。匹配字符串

1

#开始^与

开始[A-Z] {1}与一个大写字母开头

([0-9] {1,3})?可能后跟一个空格和3位数字

((。[0-9] {1,3}){0,2})?接着可能点的图案,然后1-3位为零,一或两次

$用(即以前的搜索性判据结束匹配字符串

我不区分大小写

#后没有结束