我有一个JTextPane,它会将“int”这个单词标成蓝色。但是这个正则表达式是错误的,因为它也会将“print”标成蓝色: int + "(\\[\\])*" //To match eg. int[] 所以我想到了这样的正则表达式: "\\s" + int + "(\\[\\])*" 虽然这样做没有问题,但如果用户在文本框中首先输入int,则无法正常工作。如何解决这个问题?是否有一些代表“什么都没有”的符号?这样我就可以写:\s | NOTHING。
我建议使用这个: /\bint\S*/ig 不完全确定如何将其翻译成Java,但字符串部分应如下所示: "\\bint\\S*" 正则表达式的含义是:找到一个紧跟单词边界后面的 "int",捕获它以及任何其他字符,直到出现一个空格字符为止。它允许你匹配:int[] int() interesting int!@#$%^&*()_+~=- 如果您只想捕获int[], int()等内容,正则表达式显然会不同。
"\\bint\\S*"
,其中\S*
允许匹配0个或多个非空格字符,因此可以匹配int()
、int[]
等。 - Shmiddty