我想寫一個正則表達式,在java中匹配單詞和連字符的單詞。到目前爲止,我有:正則表達式來捕獲行和非連字詞之間的連字符
Pattern p1 = Pattern.compile("\\w+(?:-\\w+)",Pattern.CASE_INSENSITIVE);
Pattern p2 = Pattern.compile("[a-zA-Z0-9]+",Pattern.CASE_INSENSITIVE);
Pattern p3 = Pattern.compile("(?<=\\s)[\\w]+-$",Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
這是我的測試案例:
Programs Dsfasdf. Programs Programs Dsfasdf. Dsfasdf. as is wow woah! woah. woah? okay. he said, "hi." aasdfa. wsdfalsdjf. go-to go- to asdfasdf.. , : ; " ' () ? ! -/\ @ # $ % &^~ ` * [ ] { } + _ 123
任何幫助將是真棒
我預期的結果將是匹配所有的話IE瀏覽器。
Programs Dsfasdf Programs Programs Dsfasdf Dsfasdf as is wow woah woah woah okay he said hi aasdfa wsdfalsdjf go-to go-to asdfasdf
我正在努力的部分是匹配行之間分開的單詞作爲一個單詞。
即。
go- to
所以,你想匹配的話,無論有無連字符?但不是標點符號或數字?你的測試用例的預期結果也是有用的。 –
我不清楚你的意思是「連字符*之間的連字符*」。 – Junuxx