检查特定字符的正则表达式

我的问题是我需要检查一个字符串,如果它只包含以下任意数量的字符:

  • 任何数字 0-9

  • 这些 - + 中的任何字符。\ * 和一个空格

如果它包含任何其他字符,则该字符串无效,正则表达式应捕获它。

我尝试了以下正则表达式,但不幸的是,它不起作用,我被卡住了。"[^0-9 ,.\\-+*]"

例如:1 * 2.4324 应该是正确的,但 1 & 2.3231 不应该提前谢谢。


青春有我
浏览 114回答 1
1回答

ITMISS

您可能正在寻找^[0-9 ,.\-+\*]*$这首先查找字符串的开头^,然后查找任意数量的允许字符[...]*,最后查找字符串的结尾$。您的正则表达式会查找字符串中出现的任何一个,因此只要一个字符有效,整个输入就会成功匹配。更新实际上,我误读了您的正则表达式。您已经否定了该课程,因此匹配单个字符应该有效。你可以在这里找到一个例子:https ://regex101.com/r/bKZAl5/1/我相信,你可能只是错误地引用了你的一些角色。星号应该被转义,减号目前没有被转义,给你一个完整的匹配字符范围从\到+。也就是说,它可能需要双反斜杠将其转义到您的输入字符串中,而您只是将其原样粘贴到此处。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java