请问下面这个正则如何处理,在线等,谢谢!

sancyxu 2009-03-25 02:39:39
$k="一、单项选择题(本类题共25小题,每小题1分,共25分,每小题备选答案中,只有一个符合题意的正确答案。请将选定的答案,按答题卡要求,用2B铅笔填涂答题卡中题号1至25信息点。多选。错选,不选均不得分)。";


我如何将$k中的“单项选择题”以及括号中的内容取出来。

注意“一、”可能是“二、”或者“三、”,另外括号中的东西也许为空。

谢谢!急,在线等,送分!
...全文
52 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序猿之殇 2009-03-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sancyxu 的回复:]
替换太麻烦了,有没有不需要替换的方法
[/Quote]
没有.
至少现在没有找到好的办法.
如果是全角的话的,就和中文的构成是一样的.
这样正则处理就会出现一些未知的错误,呵呵.

替换是因为,这几个字符,是正则处理的关键地方.
sancyxu 2009-03-25
  • 打赏
  • 举报
回复
替换太麻烦了,有没有不需要替换的方法
程序猿之殇 2009-03-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sancyxu 的回复:]
楼上的运行结果出现一堆乱码。
[/Quote]
查看你文件的编码和浏览器的编码.
sancyxu 2009-03-25
  • 打赏
  • 举报
回复
楼上的运行结果出现一堆乱码。

程序猿之殇 2009-03-25
  • 打赏
  • 举报
回复
$k="一,单项选择题(本类题共25小题,每小题1分,共25分,每小题备选答案中,只有一个符合题意的正确答案。请将选定的答案,按答题卡要求,用2B铅笔填涂答题卡中题号1至25信息点。多选。错选,不选均不得分)。";
preg_match_all("/,([^,(]+)\(([^\(\)]+)/i", $k, $matches);
var_dump($matches);

你哪个(号和一后面的顿号是全角的,如果不转换的话会有点问题.
所以在正则之前要用替换函数替换一下.

21,886

社区成员

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

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