繁体   English   中英

正则表达式,排除以特定字符开头的数字

[英]Regex, exclude number starting with certain character

我想找到数字,不要继续使用£字符。 说我有一个字符串:

“2012年国内生产总值为1270亿英镑”

我想只返回2012年

我试过了[^$][0-9]*但这只忽略了$ character。 试图匹配以数字开头和结尾的整个单词\\b[0-9]*\\b但是\\b仅适用于[0-9a-zA-Z]

还有什么建议吗?

一个可行的选项(使用http://gskinner.com/RegExr测试)是:

(?<![£0-9])[0-9]+

这使用负面的lookbehind来排除£。 除了“2012”之外,额外排除0-9是为了防止它在上面找到“27”。

您可以在字符串前加上空格并搜索正则表达式\\s[0-9]+这意味着'数字前缀的单词,以数字开头'这将排除以$,£或除数字以外的所有其他内容的所有单词。

这是一个很好的工具,您可以尝试这些。 以下是您查询http://regex101.com/r/iH9uS8的示例方式

这对我有用:

 (?:^|\\s)(\\d+)(?:\\s|$)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM