我试图用正则表达式从字符串中提取一些子字符串。我的函数中有一个单词作为参数,目标是在匹配之后提取下一个单词(我对单词的定义)。我尝试了lookback和其他一些逻辑,但是没有得到结果,所以欢迎任何帮助。你知道吗
例如,给定第一种情况,我在函数中输入了:**THttpServer**
23:25:04.805: INFO: THttpServer: transportTCPChanged(state: DISCONNECTED 2)
23:25:13.120: INFO: THttpServer: transportUDPOpened(state: Port 54)
预期结果:transportTCPChanged
和transportUDPOpened
。你知道吗
另一种情况是,我输入了CurrentUserConnection
23:25:16.622: INFO: CurrentUserConnection#1:RQ : subscribed(userID: 1)
23:25:16.622: INFO: CurrentUserConnection#8:RP : disconnected
预期结果:subscribed, disconnected
。你知道吗
我在Notepad++上尝试过的东西(lookback根据示例而变化):
(?<=THttpServer)(\w+)
:没有匹配项
(?<=THttpServer)(.*)
:显然返回所有句子,而不是预期的匹配
我有点困惑,也许这根本不可能?或者我需要一些预处理?你知道吗
您需要在
THttpServer
之后匹配:
,并将任何非单词字符匹配到单词,然后用(\w+)
匹配并捕获它。你知道吗例如,您可以使用
参见regex demo。你知道吗
细节
THttpServer:
-文字子串\W*
-任何0+个非单词字符(\w+)
-捕获组1(稍后可通过m.group(1)
访问):1个或多个单词字符。你知道吗参见Python demo:
输出:
相关问题 更多 >
编程相关推荐