9922250 发表于 2014-6-17 09:38:10

请教一个正则。

我要提取    丁玉上    三个字   ,怎么写正则

$str = "                <td ><center>                                                       丁玉上                                                                                                                 </center></td>"

$array = StringRegExp($str, '<center>(?x.)</center>', 3)
For $i = 0 To UBound($array) - 1
    MsgBox(4096, "正则测试 标志值 2 - " & $i, $array[$i])
Next

shqf 发表于 2014-6-17 09:58:33

哪来的?X呀?
用如下正则试试:<center>\h+(\H+)

水木子 发表于 2014-6-17 10:07:13

$str = "                <td ><center>                                                         丁玉上                                                                                                               </center></td>"

$array = StringRegExp($str, '(?<=<center>)\h*([^<]+?)\h*(?=</center>)', 3)
For $i = 0 To UBound($array) - 1
    MsgBox(4096, "正则测试 标志值 2 - " & $i, $array[$i])
Next

cumtljj 发表于 2014-6-17 16:11:54

回复 3# 水木子


    你好 有一个问题想不通 你的这个正则表达式中为什么要用\h呢?用这个话不就是需要匹配空白符了么?但是测试后还必须用\h
有点想不通啊 望指点

水木子 发表于 2014-6-17 21:51:16

回复 4# cumtljj

你理解错了,表达式所写的,并不一定就是想要得到的结果。

我这个表达式其实就是对需要得到的结果进行说明,告诉程序,我要的结果“前后可能存在空白符,但是我需要输出的结果并不包含空白符。”

mxcjmn 发表于 2014-6-21 17:46:04

回复 5# 水木子


    佩服,想了一下,才看明白。
页: [1]
查看完整版本: 请教一个正则。