首页 > 解决方案 > 如何在正则表达式中排除非数字字符

问题描述

我有一个这样的字符串

Section 78(1) of the blabla

这些是我的正则表达式

\b\s(?!\b(\d{1,3}|\d{1,2}[a-zA-Z]|\d{5,})\b)\b\S*

预期输出为:of the blabla

这个正则表达式有效,但它不排除“的”,因为 ()。谁能帮我?谢谢

标签: regexvb.net

解决方案


试试这个模式:.+\d\)?

解释:

.+- 匹配任何字符的一次或多次

\d- 匹配数字

\)?- 匹配)零次或一次

因为它的贪婪+会匹配到最后一位,如果它在括号中,则匹配下一个括号。

演示

或者使用\d+(?:\(\d+\))?(.+)

然后所需的输出在第一个捕获组中。

演示


推荐阅读