Java 正则表达式可以用于获取子字符串吗?

Java 正则表达式可以用于获取子字符串吗?,java,regex,substring,Java,Regex,Substring,我正在编写一些代码javafx代码,其中我计算单击哪个按钮,因此我需要比较getSource字符串的id 我总是得到这样的字符串: 按钮[id=playButton,styleClass=Button] 按钮[id=pauseButton,styleClass=Button] 按钮[id=stopButton,styleClass=Button] 按钮[id=nextButton,styleClass=Button] 因此,根据单击的按钮,我执行一些语句。我使用了一组if和else if的评估包

我正在编写一些代码javafx代码,其中我计算单击哪个按钮,因此我需要比较
getSource
字符串的id

我总是得到这样的字符串:

按钮[id=playButton,styleClass=Button]
按钮[id=pauseButton,styleClass=Button]
按钮[id=stopButton,styleClass=Button]
按钮[id=nextButton,styleClass=Button]

因此,根据单击的按钮,我执行一些语句。我使用了一组
if
else if
的评估
包含(id)
id将在其中播放、暂停、停止和下一步

我希望最好使用一个开关,这样每个案例都可以播放、暂停、停止和下一个。
如何获取子字符串,只获取play、pause、stop或next中的任何一个?

当前两个调用的简单indexOf(“id=”)、lastinexof(“Button”)和子字符串都可以正常工作时,为什么需要正则表达式?

我认为您获取的字符串是按钮的
toString()
表示形式,因此,您可以使用
按钮
实例本身进行比较?我使用ActionEvent.getSource().toString()可以创建正则表达式来获取按钮id,但不幸的是,我不知道如何构建它。但我相信,在JavaFX中,您可以直接访问按钮的
id
,您可以使用Java,查看它是4个按钮中的哪一个。如果您正在进行大量比较,这将是一种比正则表达式更快的方法,但如果不是,正则表达式肯定是一种更优雅的方法: