我目前正在創建一個正則表達式來分割出所有匹配以下格式的字符串:&[text(text - text text) !text]
。這裏的文本可以是任何字符真的。間距很重要。文本將如圖所示列出。java正則表達式匹配和[文本(文本 - 文本文本)!文本]
我曾嘗試以下正則表達式,但我似乎無法得到它的工作:
&\\[([^\\]]*)\\]
任何幫助將不勝感激。
我目前正在創建一個正則表達式來分割出所有匹配以下格式的字符串:&[text(text - text text) !text]
。這裏的文本可以是任何字符真的。間距很重要。文本將如圖所示列出。java正則表達式匹配和[文本(文本 - 文本文本)!文本]
我曾嘗試以下正則表達式,但我似乎無法得到它的工作:
&\\[([^\\]]*)\\]
任何幫助將不勝感激。
將text
替換爲\w+
以捕獲一個或多個單詞字符。 否則假設一切是文字,下面的正則表達式應該工作:
&\[\w+\(\w+ - \w+ \w+\) !\w+\]
你也可以使用[a-zA-Z]
代替\w
如果您想。它有時更容易理解,因爲它明確描述了要匹配的字符,a-z
和A-Z
(含)。
&\[[a-zA-Z]+\([a-zA-Z]+ - [a-zA-Z]+ [a-zA-Z]+\) ![a-zA-Z]+\]
而對於只有一個字符,刪除+
&\[\w\(\w - \w \w\) !\w\]
&\[[a-zA-Z]\([a-zA-Z] - [a-zA-Z] [a-zA-Z]\) ![a-zA-Z]\]
PS - 我不記得是否-
,&
,或!
被coutned爲正則表達式的符號和如果他們是你可以通過使用\-
,01使他們成爲文字或\!
。
P.P.S - 在java中你必須轉義\
所以\w
變成\\w
在一個字符串中。
如果你想提取text
成組後與他們合作:
&\\[(\\w+)\\((\w+)\\s\\-\\s(\\w+)\\s(\\w+)\\)\\s!(\\w+)]
要提取`text`與該模式分割功能
? –
不,我正在嘗試替換匹配該模式的文本。 –
所以下面的答案應該爲你工作 –