请教:我在php中写的这个正则表达式怎么都不对,麻烦大哥帮忙看一下,谢谢了。

ghm 2006-07-24 10:03:16
我在php中用curl方法获得了网站传输来的数据,其中包括如下一行:
<input type=hidden name=PAYMENT_BATCH_NUM value="65136644"></div>

接着我想用preg_match获取里面的PAYMENT_BATCH_NUM值,使用了如下正式表达式:

$pattern = "/^(PAYMENT_BATCH_NUM)\s+value\s*=\s*\"?([0-9]+)\"?/i";

可怎么也执行不成功,麻烦大哥大姐们帮忙看一下,谢谢大哥大姐了。
...全文
191 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
颓废的老猫 2006-07-26
  • 打赏
  • 举报
回复
学习
ghm 2006-07-25
  • 打赏
  • 举报
回复
谢谢楼上的各位,中午我便回去试试。
zeroleonhart 2006-07-25
  • 打赏
  • 举报
回复
.......

这里的"/"是正则表达式的开始标记和结束标记,因为很多时候我们要在正则表达式里用到模式修正符(比如上面例子里最后一个"/"后面的"i"),这个符号可自定义,你也可以用其它符号比如"#","|",等等来代替这里的"/"(前后必须保持一致)
keaizhong 2006-07-25
  • 打赏
  • 举报
回复
都被回答了。不过我觉得应该再加一点点更完美

$pattern = "/(PAYMENT_BATCH_NUM)\s+value\s*=\s*[\"']?(\d+)[\"']?/i";
「已注销」 2006-07-25
  • 打赏
  • 举报
回复
大哥你英文过了多少级了``怎么不过中文`````````````````````````天吖```
"/" 开始和结束标志?
什么意思呢```不太明白```
zeroleonhart 2006-07-25
  • 打赏
  • 举报
回复
"/" at the begining and at the end is the start/end tag of the re,you can define it by yourself like "#","|".....
「已注销」 2006-07-25
  • 打赏
  • 举报
回复
请问一下 "/"这个符号是什么意思``查了一下正则部分 没有说明呀```
Cain 2006-07-25
  • 打赏
  • 举报
回复
再优化一下

$pattern = "/(PAYMENT_BATCH_NUM)\s+value\s*=\s*([\"'])(\d+)\\2/i";
zeroleonhart 2006-07-24
  • 打赏
  • 举报
回复
$pattern = "/^(PAYMENT_BATCH_NUM)\s+value\s*=\s*\"?([0-9]+)\"?/i";

你多写了一个^号,这表示PAYMENT_BATCH_NUM必须在字符串的最前面,去掉就好啦

-----------------------------
right
Gdj 2006-07-24
  • 打赏
  • 举报
回复
$pattern = "/^(PAYMENT_BATCH_NUM)\s+value\s*=\s*\"?([0-9]+)\"?/i";

你多写了一个^号,这表示PAYMENT_BATCH_NUM必须在字符串的最前面,去掉就好啦
mrshelly 2006-07-24
  • 打赏
  • 举报
回复
"/name=PAYMENT_BATCH_NUM value=\"(\d*)\">/is"

21,889

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧