我正在尝试用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。哇哇哇!哇。哇?好的。 他说:“嗨。” aasdfa. wsdfalsdjf. 去去去- 到 asdfasdf .. , : ; " ' ( ) ? ! - / \ @ # $ % & ^ ~ ` * [ ] { } + _ 123
任何帮助都是极好的
我的预期结果是匹配所有单词,即。
程序 Dsfasdf 程序 程序 Dsfasdf Dsfasdf 就像哇哇哇哇好的他说嗨aasdfa wsdfalsdjf go-to go-to asdfasdf
我正在努力的部分是将在行之间拆分的单词匹配为一个单词。
IE。
去- 到