淡定开源 发表于 2011-7-8 10:20:09

(已解决)怎样删除指定字符后所有行

本帖最后由 淡定开源 于 2011-7-9 14:27 编辑

怎样删除指定字符后所有行
比如:
你做什么去了?
我不能告诉你的。
为什么不能告诉我呢?

StringRegExpReplace($str, '(?<=\做).*', ''))
结果是:你做
我不能告诉你的。
为什么不能告诉我呢?
上面这个正则只能删除一行的指定字符后面的字符
请问怎样删除指定字符后所有行

kevinch 发表于 2011-7-8 10:26:52

StringRegExpReplace($str, '(?ms)(?<=\做).*', ''))不如这样试下

淡定开源 发表于 2011-7-8 10:41:42

现在用手机上网不能试
请问(? ms)是什么意思
没看到正则学习资料里有,我刚学

大绯狼 发表于 2011-7-8 11:25:14

StringRegExpReplace($str, '(?<=做)[\s\S]*', '')

淡定开源 发表于 2011-7-9 07:30:36

本帖最后由 淡定开源 于 2011-7-9 07:32 编辑

谢谢楼上二位,都可以用。
能否解释下(?ms)是 什么 意思?

kevinch 发表于 2011-7-9 08:55:00

(?m)   标识 ^ 和 $ 匹配数据中产行首和行尾
(?s)    . 匹配任意字符,包括换行. (默认 "." 不匹配换行)
(?ms)是合起来使用的方式

淡定开源 发表于 2011-7-9 11:50:50

谢谢,(?ms)为什么在前面?

kevinch 发表于 2011-7-9 14:16:19

处理方式要先声明呗

淡定开源 发表于 2011-7-9 14:22:35

谢谢了,明白了。

ainizm 发表于 2013-5-29 23:27:41

留下脚印。。。。。。。

yufei8051 发表于 2014-4-25 16:45:16

感谢分享,知识无价
页: [1]
查看完整版本: (已解决)怎样删除指定字符后所有行