0

我需要编写一个不允许任何数字的正则表达式。它应该允许除数字之外的任何其他字符。我试过这样的表达:- ~[0-9]+

但它限制了一切。你能帮帮我吗?

4

2 回答 2

2

目前尚不清楚您需要哪种正则表达式,但总的来说,以下其中一项应该有效:

^[^0-9]*$
^[^\d]*$
^\D*$
^[[:^digit:]]*$
^\P{IsDigit}*$

最后两种形式适用于 Unicode 数字。

原子[^0-9]匹配除数字以外的任何东西;为了确保在整个字符串中没有数字,我添加了字符串 start ( ^) 和 end ( $) 的标记。

如果要匹配包含至少一个非数字字符的字符串的任何部分,请将^...*$正则表达式的部分替换为...+

[^0-9]+
\D+

等等

于 2012-10-18T07:42:21.880 回答
0

试试[^0-9]+。请注意,这只会阻止 ASCII 数字出现,而不是 Unicode 数字。

于 2012-10-18T07:42:38.590 回答