有没有什么方法可以显示所有字符和字符串,除了某些字或数字范围,使用Java?例如:显示不匹配的字符串,正则表达式否定
正则表达式:
^(if|else),[0-9]
输入字符串:
if x <= 7
输出:
无法识别的令牌:
x , <=
由于 “if
” 和7
被否定,它们不会出现。 我可以否定一组正则表达式中的字符串和数字范围吗? 或者还有什么其他方式可以显示不匹配的字符串吗? 我们的任务是显示识别的令牌,然后是不匹配的令牌。我已经研究了三天的正则表达式,但仍然无法完成我的任务。预先感谢您的帮助。
我认为你不能用正则表达式排除字符串,至少在Java中。你必须编写一个匹配其他任何东西的正则表达式。例如,要匹配任何字符串,但要匹配'stack',您需要'[^ s]。* | s [^ t]。* | st [^ a]。* | sta [^ c]。* | stac [^ k ]。* | stack。+'(stackXXX将被允许)。想象一下,正则表达式可以匹配除了几个单词之外的任何东西......一团糟。 – aalku
顺便说一句你正在谈论令牌,但你没有告诉它们是如何定义的。你的意思是令牌是由空格分割字符串的结果吗?那么,你想要自己测试每个令牌吗? – aalku