如何在与正则表达式相等的字符之后只找到单词?

how to find only words after equal character with regex?

例如,在本文中:

source=sourses/date=2018-02-05
date=2018-02-05/source=swbsource
flight_source=soursewft/date=2018-02-05
date=2018-02-05/source=sources
source=sourseswqa/date=2018-02-05
date=2018-02-05/flight_source=sourcepdt

我想匹配等于后面的唯一单词。我的意思是唯一的 sourseswqa, swbsource, sources, sourcepdt, sourses, soursewft 字。 但它不能只是 'source' 或 'flight_source'

让我们分解一下:根据您的描述,当等号跟在单词“source”或“flight_source”之后时,您对等号后的第一个单词感兴趣。捕获的单词然后以空白字符、正斜杠或字符串结尾终止。

与此类似的正则表达式应该可以解决问题:

(?:flight_source|source)=([^\/\s]+)

第一组是非捕获组,匹配“source”或“flight_source”。然后我们寻找等号。找到等号后,我们开始一个捕获组,我们在其中捕获一个或多个不是正斜杠或空白字符的字符。