正则表达式,用于匹配除多位数字以外的所有内容

时间:2019-11-22 06:25:37

标签: regex

有人可以给我提供一个正则表达式来匹配字符串中除多位数之外的所有内容吗?

示例字符串:a hello 656554 ho5w are you

在上面的示例中,数字656554以外的所有字符都应匹配。 5中的数字how也应匹配。

我尝试了此操作:((?![0-9]{2,}).)但这也与4中的656554相匹配。

编辑:这是我尝试过的。 https://regex101.com/r/Jm2GTW/1

编辑2:请一次浏览上面的链接。

4 个答案:

答案 0 :(得分:2)

根据您实际使用的数据,此模式似乎有效

sysdate - interval '2' year

但是具有单个数字的字符串会分开。

Regex Demo

答案 1 :(得分:1)

正则表达式:

\d{2,}

什么都不要替换(即删除)。

测试here

答案 2 :(得分:0)

假设您要分别匹配每个单词(由空格分隔),则可以使用the following regex

\b\d\b|\b(?:[^\d\s]*?\d?[^\d\s])+\b

它与以下两种情况之一匹配:

  1. 一位数字。
  2. 一个单词不包含2个连续数字。

答案 3 :(得分:0)

尝试\D*(?<=\D|^)\d?(?=\D|$)\D*

说明:

\D*-匹配零个或多个非数字

(?<=\D|^)-隐藏在后面:断言前面的数字是非数字还是字符串^的开头

\d?-零位一位匹配

(?=\D|$)-正向查找:断言其后是字符串$的非数字或结尾

Demo