首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在regex中捕获非字字符的单词

如何在regex中捕获非字字符的单词
EN

Stack Overflow用户
提问于 2016-08-31 07:21:39
回答 2查看 3.1K关注 0票数 1

我有一个正则表达式,用于捕获字符串的特定部分。

代码语言:javascript
复制
[Pp]rocess[\s]+(?<proc>[\w-]*|[\/\w-]*)\([\d]*\) killed by signal (?<signame>[\w\s]*)-(?<signum>[\d]+)

eg:Process  tivosh(1426) killed by signal Hangup-1 

输出: proc -> tivosh

->信号挂断

signum -> 1

在某些情况下,信号以“跟踪/断点陷阱”的形式出现。

代码语言:javascript
复制
eg: process  uploader(2404) killed by signal Trace/breakpoint trap-5 

请让我知道,如何捕捉一个word+non字字符?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-31 07:26:28

[\w\s]*只匹配零或多个字或空格字符。或者向类中添加更多允许的字符,或者使用延迟点模式- .*?

代码语言:javascript
复制
[Pp]rocess\s+(?<proc>.*?)\(\d*\) killed by signal (?<signame>.*?)-(?<signum>\d+)
                     ^^^                                     ^^^

regex演示

延迟点模式将匹配尽可能少的字符,而不是换行符,直到第一个-,后面跟着一个或更多位数(即-(?<signum>\d+)的第一次匹配)。与(?<proc>.*?)一样-它将匹配几乎没有任何字符,除了换行符,直到第一个(<digits_here_0_or_more>)

此外,用字符类(括号)包装单个简写字符类没有意义:[\s]* = \s*

票数 0
EN

Stack Overflow用户

发布于 2020-06-04 15:30:07

这是捕捉任何单词,空间,没有字符的方法。

代码语言:javascript
复制
[\w\s\W]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39243184

复制
相关文章

相似问题

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