返回列表 发帖

[已解决]elkay 能不能帮我个忙,谢谢了

刚开始学习正则表达式,想有些问题想要你请教?

abcde

这个有没有办法让正则表达式一次同时匹配b d

     a   bc
           da sa         d
   a  b

在这个例子中我想把每行字母前面的每一个空格替换成一个0,也就是说如果某一行的最开始有三个连续的空格,就替换成三个0。
其他地方的空格不能替换,如第一行"a" "bc"间的空格不能替换?

上面两个例子不知道用正则表达式可不可以实现?
谢谢了。

[ 本帖最后由 tianlijian 于 2007-3-31 00:17 编辑 ]

。。。

我不是很明白你的意思啊,比如第一个单单匹配bd2个字母?还是匹配含有这2个字母的单词?

第二个这样应该可以匹配到前面的空格

  1. \A\s+|\n\s+
复制代码

[ 本帖最后由 elkay 于 2007-3-29 22:07 编辑 ]

TOP

  1. 空空空空空ab空空空dafsdsaf
  2. 空空空dafas空空空空空空dfs
  3. 空空a空b
复制代码

如果上面这个例子,我用汉字“空”来代表一个空格。
我的目的不仅是要找到匹配,而且要对找到的匹配进行替换(比如在EmEditor,notepad++等这类软件中进行替换)。
对于这个例子替换后想要达到的效果是
  1. 00000ab空空空dafsdsaf
  2. 000dafas空空空空空空dfs
  3. 00a空b
复制代码

把每一行开头的空格替换为0:只替换每行开头的,而且要有几个空格,就替换成几个0。

Thank you!

[ 本帖最后由 tianlijian 于 2007-3-29 22:41 编辑 ]

TOP

每行开头的一个空格要替换一个0,字符中间的空格不改变,好像没有办法,我再查资料研究研究吧,正则表达式我也不是很懂,呵呵,都还给老师了

TOP

(?=^|\n|\r\n)\s*?(?=\S.*)

楼主看看这个行不
遇到崩溃假死或者感觉速度慢或者其他问题的朋友可以先试试使用TW3
TheWorld we explore the world.

TOP

原帖由 mutalisker 于 2007-3-29 23:58 发表
(?=^|\n|\r\n)\s*?(?=\S.*)

楼主看看这个行不

这个只能实现匹配,但不能实现替换。

TOP

不懂,匹配了不就可以替换了么?
遇到崩溃假死或者感觉速度慢或者其他问题的朋友可以先试试使用TW3
TheWorld we explore the world.

TOP

我要的是有几个空格就要替换几个零,比如某行的开头有3个空格那么就替换为3个0;再如另一行的开头有5个零就要替换为5个0.

TOP

我说过了啊,应该是没有办法做到这样的

TOP

呵呵,我那个是回复7楼的。我也想了很久,没有想出来。所以才来问问的。
Thank you !

TOP

返回列表