Regex 除最后一个字符外的单词后面的任何内容的正则表达式
除了最后一个字符,我需要一个正则表达式来表示typedef后面的最后一个单词。我知道Regex 除最后一个字符外的单词后面的任何内容的正则表达式,regex,Regex,除了最后一个字符,我需要一个正则表达式来表示typedef后面的最后一个单词。我知道([^typedef]*)$会给我typedef之后的最后一个单词,但这会包括最后一个字符 例如,如果我有一行类型long integer,我想要一个正则表达式,它将给我整数,而不是整数。如果这有帮助,最后一个字符将始终是分号 在括号后添加句点以匹配1个字符,但不捕获它:([^typedef]*)。$这是适用于您的正则表达式: ^typedef.*?\s(\w+)\s*; 最后一个单词在匹配组#1中可用 现场演
([^typedef]*)$
会给我typedef之后的最后一个单词,但这会包括最后一个字符
例如,如果我有一行
类型long integer
,我想要一个正则表达式,它将给我整数
,而不是整数代码>。如果这有帮助,最后一个字符将始终是分号 在括号后添加句点以匹配1个字符,但不捕获它:([^typedef]*)。$这是适用于您的正则表达式:
^typedef.*?\s(\w+)\s*;
最后一个单词在匹配组#1中可用
现场演示:Regex适用于哪种语言?我真的不确定,我认为是xml。我正在编辑的文件是一个sublime text.tmLanguage文件。[^typedef]*
并不是您认为的意思。它只返回分号前的1个字符。这是因为分号前倒数第二个字符是e
,这是一组您不想匹配的字符。@宾果:请提供更多示例,因为我不知道typedef
语句的所有不同组合。该表达式似乎在rubular中工作,但由于某种原因,它在我的代码中不起作用。@OGH:这就是为什么首先问您这个问题,您想用哪种语言实现它。请理解每个正则表达式提供程序的语言/工具在某些方面是不同的。抱歉,我提到我正在使用sublime text.tmLanguage文件。抱歉,我不知道sublime text.tmLanguage
。我为您提供了一个通用的正则表达式解决方案,它可以在大多数正则表达式平台上工作。