我有 JTextPane 将“int”字涂成蓝色。这样的正则表达式是错误的,因为它也会为“打印”着色:
int + "(\\[\\])*" //To match eg. int[]
所以我想到了这样的正则表达式:
"\\s" + int + "(\\[\\])*"
没关系,但如果用户在文本窗格中键入 int 作为第一个,则不起作用。如何解决这个问题呢?有没有什么象征?所以我可以制作:\s | 没有
你想要一个可选的空间吗?那将是\\s?
。或允许零个或多个空格:\\s*
.
我建议使用这个:
/\bint\S*/ig
不完全确定如何将其转换为 Java,但字符串部分如下所示:
"\\bint\\S*"
正则表达式转换为:
在单词边界之后找到“int”,捕获它和其他任何东西,直到一个空白字符。
它允许你匹配
int[]
int()
interesting
int!@#$%^&*()_+~=-
等等等等
如果您只想捕获int[], int()
等,则正则表达式显然会有所不同。