単語とハイフンでつながれた単語に一致する正規表現を 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);
これは私のテストケースです:
プログラム Dsfasdf。プログラム プログラム Dsfasdf. Dsfasdf。そのまま wow woah! うわー。うわー?わかった。 彼は「こんにちは」と言った。aasdfa。wsdfalsdjf。ゴーゴーゴー に asdfasdf .. : ; " ' ( ) ?! - / \ @ # $ % & ^ ~ ` * [ ] { } + _ 123
どんな助けでも素晴らしいでしょう
私の期待される結果は、すべての単語に一致することです。
プログラム Dsfasdf プログラム プログラム Dsfasdf Dsfasdf そのままですwow woah woah woah OK、彼はこんにちはaasdfaと言った wsdfalsdjf go-to go-to asdfasdf
私が苦労している部分は、行間で分割されている単語を1つの単語として一致させることです.
すなわち。
行く- に