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

问题描述 投票:1回答:4

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

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

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

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

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

regex
4个回答
0
投票

正则表达式:

\d{2,}

不进行任何替换(即删除)。

测试here


0
投票

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

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

它匹配两种情况之一:

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

0
投票

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

(\D+\d?\D)

但是具有一位数字的字符串会分开。

Regex Demo


0
投票

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

说明:

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

(?<=\D|^)-后面看:断言前面的数字是非数字还是strnig的开头^

[\d?-零位匹配一位数字]

[(?=\D|$)-前瞻性:断言其后是字符串$的非数字或结尾

Demo

© www.soinside.com 2019 - 2024. All rights reserved.