这是我的代码
Pattern pbold = Pattern.compile(".*\\* *(.*?) *\\*.*");
Matcher mbold = pbold.matcher(s);
mbold.find();
答案 0 :(得分:1)
你需要的是匹配空格字符的元字符:(?s)
这个空白元字符匹配:
有关此特殊字符的详细信息,请参阅The Java Tutorials - Regular Expressions - Predefined Character Classes。
以下代码符合您的需要:
String s = "abc021\n" +
"34-+\n" +
"*\n" +
"a\n" +
"p\n" +
"p\n" +
"l\n" +
"e\n" +
"*\n" +
"fga32\n" +
"49";
Pattern pbold = Pattern.compile(".*\\* *((?s).*?) *\\*.*");
Matcher mbold = pbold.matcher(s);
mbold.find();
这里也有类似的问题: Regular expression does not match newline obtained from Formatter object
答案 1 :(得分:0)
使用如下所示的标志igm:
Pattern pbold = Pattern.compile(".*\\* *(.*?) *\\*.*");
Matcher mbold = pbold.matcher(s, Pattern.MULTILINE|Pattern.CASE_INSENSITIVE|Pattern.DOTALL);
mbold.find();
答案 2 :(得分:0)
这个正则表达式可能会解决您的问题...
SELECT COUNT(*) FROM mytable WHERE YEARWEEK(reg_date) = YEARWEEK(CURRENT_TIMESTAMP)
如果这还没有解决它......请详细说明你试图通过这个表达式。