正则表达式 截取字符串 从XX开始,到XX结束.如何截取

OopsJeff 2013-11-30 01:49:43
例如 : XXX(51727XXXX)向您付款2.00元亲爱的XXXX,E码用户余XXX(5172XXX)于11月30日12:33:27向您付款2.00元,资金已经到达您的E码账户。查看交易记录


要截取从E码用户 到 E码账户 中的 所有数字 如何写正则表达式
...全文
1375 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
php-jun 2013-11-30
  • 打赏
  • 举报
回复
如果上面的代码不能匹配得到的话,你看下你的页面的编码,将编码转换下,我在本地是可以匹配得到的
php-jun 2013-11-30
  • 打赏
  • 举报
回复
$str='E码用户余XXX(51727XXXX)于11月30日12:33:27向您付款2.00元,资金已经到达您的E码账户。'; preg_match('/E码用户.*\(([0-9]+)\)于([0-9]+)月([0-9]+)日(.+)向您付款(.*)元/is', $str,$result); print_r($result);
OopsJeff 2013-11-30
  • 打赏
  • 举报
回复
引用 3 楼 snmr_com 的回复:
两句简单点:

$a=' XXX(51727XXXX)向您付款2.00元亲爱的XXXX,E码用户余XXX(5172123)于11月30日12:33:27向您付款2.00元,资金已经到达您的E码账户。查看交易记录';
$b=explode('E码用户', $a)[1];
preg_match_all('#\d+#', $b, $m);
var_export($m);
一句恐怕要写很长 #E码用户\D+(\d+)\D+(\d+)月(\d+)\D+(\d+):(\d+):(\d+)\D+(\d+)\.(\d+)\D+E码账户#
你的方法有错啊. 不能复制运行啊
OopsJeff 2013-11-30
  • 打赏
  • 举报
回复
引用 3 楼 snmr_com 的回复:
两句简单点:

$a=' XXX(51727XXXX)向您付款2.00元亲爱的XXXX,E码用户余XXX(5172123)于11月30日12:33:27向您付款2.00元,资金已经到达您的E码账户。查看交易记录';
$b=explode('E码用户', $a)[1];
preg_match_all('#\d+#', $b, $m);
var_export($m);
一句恐怕要写很长 #E码用户\D+(\d+)\D+(\d+)月(\d+)\D+(\d+):(\d+):(\d+)\D+(\d+)\.(\d+)\D+E码账户#
取头,到未, 然后只要是数字就行.
ImN1 2013-11-30
  • 打赏
  • 举报
回复
一句递归正则会简单些,但我不会写,看其他谁的正则功力深厚
ImN1 2013-11-30
  • 打赏
  • 举报
回复
两句简单点:

$a=' XXX(51727XXXX)向您付款2.00元亲爱的XXXX,E码用户余XXX(5172123)于11月30日12:33:27向您付款2.00元,资金已经到达您的E码账户。查看交易记录';
$b=explode('E码用户', $a)[1];
preg_match_all('#\d+#', $b, $m);
var_export($m);
一句恐怕要写很长 #E码用户\D+(\d+)\D+(\d+)月(\d+)\D+(\d+):(\d+):(\d+)\D+(\d+)\.(\d+)\D+E码账户#
OopsJeff 2013-11-30
  • 打赏
  • 举报
回复
引用 1 楼 snmr_com 的回复:
把要截取的用蓝色标一下,日期时间金额(还有小数点)是否都要?
. 不要小数点.是数字都要 例如 : XXX(51727XXXX)向您付款2.00元亲爱的XXXX,E码用户余XXX(5172XXX)于113012:33:27向您付款2.00元,资金已经到达您的E码账户。查看交易记录
ImN1 2013-11-30
  • 打赏
  • 举报
回复
把要截取的用蓝色标一下,日期时间金额(还有小数点)是否都要?

21,886

社区成员

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

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