首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排除正则表达式中的字符串

排除正则表达式中的字符串
EN

Stack Overflow用户
提问于 2012-05-06 19:52:21
回答 3查看 83关注 0票数 0

我有一个很长的文本,我需要将两个单词之间的单个单词隔开。

这是我的文本的一部分:

代码语言:javascript
复制
2012-05-05 19:31:44 status config-files gwibber-service 3.4.0-0ubuntu4
2012-05-05 19:31:44 status not-installed gwibber-service <none>
2012-05-05 19:31:45 status installed gir1.2-notify-0.7 0.7.5-1
2012-05-05 19:31:45 remove gir1.2-notify-0.7 0.7.5-1 <none>
2012-05-05 19:31:45 status half-configured gir1.2-notify-0.7 0.7.5-1
2012-05-05 19:31:45 status half-installed gir1.2-notify-0.7 0.7.5-1

现在我想选择除以下之外的所有单词和数字,例如:

代码语言:javascript
复制
gir1.2-notify-0.7

因此我将它们替换为“”(实际删除所有其他单词和数字)..我想,有两个关键字可以用来隔离它们:“删除”和“{一些数字和。}”必须排除它们之间的所有东西……

我希望你收到了。谢谢你的帮助。

EN

回答 3

Stack Overflow用户

发布于 2012-05-06 21:21:17

试试这个:

代码语言:javascript
复制
(?<=remove)\s+([\w\.\-]+)\b

这只是一种简单的positive look-behind方法。要更好地理解,请访问

票数 1
EN

Stack Overflow用户

发布于 2012-05-06 20:12:15

代码语言:javascript
复制
r"\w[\w-]*[\.]{1}\w[\w-\.]*"  /// -> it will match all strings of the form -> 

one-alphanumeric-character.one-alphanumeric-character

所以它会匹配girl1.2-notify-0.7,但不会匹配gwibber-service。

票数 0
EN

Stack Overflow用户

发布于 2012-05-06 20:33:35

我不确定我是否真的理解你的问题,但是...

使用下面的正则表达式:remove(.*)<none>$ $1会给出“gir1.2-notify-0.7”

我不认为您能够在单个语句中选择/替换除$1以外的所有内容,您可能必须根据regex返回的结果滚动一些代码进行处理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10470285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档