簡體   English   中英

正則表達式匹配2個字符之間的文本

[英]Regex Match text between 2 Character

我有這樣的一句話:

#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之間的空格。 如果有一個。,我會在點之前接受這個詞。

謝謝你的幫助。

您可以根據外觀使用此正則表達式:

(?<=#)[^:.]+?(?= *[:.])

正則表達式分解:

(?<=#)     # makes sure there is preceding #
[^:.]+?    # match anything but : or . (non-greedy)
(?= *[:.]) # makes sure this is followed by 0 or more spaces and : or .

RegEx演示

要匹配這個詞:

(?<=#)[^: .]+(?=.*:)

查看現場演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM