我有这样一句话:
#RT_POOL_CELL1_1 : RT_CELL_T := (NEXT => 0,
#RT_IS_OK : BOOLEAN := TRUE;
#RT_RESULT_UPDATE_TM_INFO.TC_INFO : PUS.TYPES.RESULT_UPDATE_TM_INFO_T := PUS.TYPES.UPDATE_OK;
我需要在java中使用正则表达式获取RT_POOL_CELL1_1,RT_IS_OK和RT_RESULT_UPDATE_TM_INFO(不带点.TC_INFO)。
我试图用这个正则表达式做到这一点: \ S * [#] [[:ASCII:]] \ S * [:|。]
但它不起作用。要知道的是我需要采取的词总是介于#和:之间,它们可以包含word et sign之间的空格。如果有一个。,我会在点之前接受这个词。
感谢您的帮助。
答案 0 :(得分:2)
您可以根据外观使用此正则表达式:
(?<=#)[^:.]+?(?= *[:.])
正则表达式分手:
(?<=#) # makes sure there is preceding #
[^:.]+? # match anything but : or . (non-greedy)
(?= *[:.]) # makes sure this is followed by 0 or more spaces and : or .
答案 1 :(得分:1)