我試圖用Java中的正則表達式在一些特殊字符之間至少得到一個單詞。這些都是一些樣品字符串澄清:特殊字符之間的多個單詞的正則表達式
{ ? <> <> ; <> ? ; <> ? . ? <> ? . ? <> ? . ? <> ? }
{ <> <> ? . <> <> ? }
{ <> <> <> }
{ OPTIONAL { <> <> ? } FILTER (! bound(?)) }
{ FILTER not exists (! bound(?)) }
{ <> <> ? . ? <> ? }
{ ? <> <> ; a <> }
{ <> <> [email protected] }
{ <> <> <> }
{ <> <> ? . <> <> ? FILTER (? > ?) }
{ <> <> ? . ? <> ? FILTER regex(? ?) }
{ <> <> ? FILTER (! bound(?)) }
{ ? <> ? ; <> ? . ? <> ? }
{ ? <> ? ; <> ? . ?2 <> ? ; <> ? }
{ ? <> <> ; <> ? . ? <> ? }
{ <> <> ? . <> <> ? FILTER (? = ?) }
我的比賽應該是這樣的:
OPTIONAL
FILTER
bound
FILTER not exists
bound
...
這是正則表達式,我拿出這麼遠:
[^\d\W\\a\@]+
你可以在這裏測試:https://regex101.com/r/cP3Uri/2
我的問題是,我的正則表達式只會找到完整的單詞,沒有任何工作組ds(中間有空格)。這意味着這個子字符串FILTER not exists
將得到3個匹配(每個單詞一個),但我希望它只是一個匹配。
任何人都可以幫助我找到正確的正則表達式嗎?
[\\ b [a-zA-Z] [a-zA-Z] + \\ b'](https://regex101.com/r/cP3Uri/6) –
@Pavneet_Singh貼吧我認爲這是正確的:) –