标题:
[已解决]elkay 能不能帮我个忙,谢谢了
[打印本页]
作者:
tianlijian
时间:
2007-3-29 21:12
标题:
[已解决]elkay 能不能帮我个忙,谢谢了
刚开始学习正则表达式,想有些问题想要你请教?
abcde
这个有没有办法让正则表达式一次同时匹配b d
a bc
da sa d
a b
在这个例子中我想把每行字母前面的每一个空格替换成一个0,也就是说如果某一行的最开始有三个连续的空格,就替换成三个0。
其他地方的空格不能替换,如第一行"a" "bc"间的空格不能替换?
上面两个例子不知道用正则表达式可不可以实现?
谢谢了。
[
本帖最后由 tianlijian 于 2007-3-31 00:17 编辑
]
作者:
elkay
时间:
2007-3-29 21:58
。。。
我不是很明白你的意思啊,比如第一个单单匹配bd2个字母?还是匹配含有这2个字母的单词?
第二个这样应该可以匹配到前面的空格
\A\s+|\n\s+
复制代码
[
本帖最后由 elkay 于 2007-3-29 22:07 编辑
]
作者:
tianlijian
时间:
2007-3-29 22:40
空空空空空ab空空空dafsdsaf
空空空dafas空空空空空空dfs
空空a空b
复制代码
如果上面这个例子,我用汉字“空”来代表一个空格。
我的目的不仅是要找到匹配,而且要对找到的匹配进行替换(比如在EmEditor,notepad++等这类软件中进行替换)。
对于这个例子替换后想要达到的效果是
00000ab空空空dafsdsaf
000dafas空空空空空空dfs
00a空b
复制代码
把每一行开头的空格替换为0:只替换每行开头的,而且要有几个空格,就替换成几个0。
Thank you!
[
本帖最后由 tianlijian 于 2007-3-29 22:41 编辑
]
作者:
elkay
时间:
2007-3-29 22:48
每行开头的一个空格要替换一个0,字符中间的空格不改变,好像没有办法,我再查资料研究研究吧,正则表达式我也不是很懂,呵呵,都还给老师了
作者:
mutalisker
时间:
2007-3-29 23:58
(?=^|\n|\r\n)\s*?(?=\S.*)
楼主看看这个行不
作者:
tianlijian
时间:
2007-3-30 10:47
原帖由
mutalisker
于 2007-3-29 23:58 发表
(?=^|\n|\r\n)\s*?(?=\S.*)
楼主看看这个行不
这个只能实现匹配,但不能实现替换。
作者:
mutalisker
时间:
2007-3-30 13:18
不懂,匹配了不就可以替换了么?
作者:
tianlijian
时间:
2007-3-30 18:01
我要的是有几个空格就要替换几个零,比如某行的开头有3个空格那么就替换为3个0;再如另一行的开头有5个零就要替换为5个0.
作者:
elkay
时间:
2007-3-30 18:05
我说过了啊,应该是没有办法做到这样的
作者:
tianlijian
时间:
2007-3-31 00:15
呵呵,我那个是回复7楼的。我也想了很久,没有想出来。所以才来问问的。
Thank you !
欢迎光临 世界之窗论坛 (http://bbs.theworld.cn./)
Powered by Discuz! 7.2