Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell11
提交
14fc7af7
D
dragonwell11
项目概览
openanolis
/
dragonwell11
通知
7
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell11
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
14fc7af7
编写于
7月 15, 2017
作者:
I
igerasim
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8184706: Matcher doesn't indicate hitEnd after matching \u0D with \R at EOL
Reviewed-by: sherman
上级
6f9d139a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
28 addition
and
7 deletion
+28
-7
jdk/src/java.base/share/classes/java/util/regex/Pattern.java
jdk/src/java.base/share/classes/java/util/regex/Pattern.java
+7
-3
jdk/test/java/util/regex/RegExTest.java
jdk/test/java/util/regex/RegExTest.java
+21
-4
未找到文件。
jdk/src/java.base/share/classes/java/util/regex/Pattern.java
浏览文件 @
14fc7af7
...
...
@@ -3887,9 +3887,13 @@ loop: for(int x=0, offset=0; x<nCodePoints; x++, offset+=len) {
return
next
.
match
(
matcher
,
i
+
1
,
seq
);
if
(
ch
==
0x0D
)
{
i
++;
if
(
i
<
matcher
.
to
&&
seq
.
charAt
(
i
)
==
0x0A
&&
next
.
match
(
matcher
,
i
+
1
,
seq
))
{
return
true
;
if
(
i
<
matcher
.
to
)
{
if
(
seq
.
charAt
(
i
)
==
0x0A
&&
next
.
match
(
matcher
,
i
+
1
,
seq
))
{
return
true
;
}
}
else
{
matcher
.
hitEnd
=
true
;
}
return
next
.
match
(
matcher
,
i
,
seq
);
}
...
...
jdk/test/java/util/regex/RegExTest.java
浏览文件 @
14fc7af7
...
...
@@ -33,9 +33,8 @@
* 6350801 6676425 6878475 6919132 6931676 6948903 6990617 7014645 7039066
* 7067045 7014640 7189363 8007395 8013252 8013254 8012646 8023647 6559590
* 8027645 8035076 8039124 8035975 8074678 6854417 8143854 8147531 7071819
* 8151481 4867170 7080302 6728861 6995635 6736245 4916384
* 6328855 6192895 6345469 6988218 6693451 7006761 8140212 8143282 8158482
* 8176029
* 8151481 4867170 7080302 6728861 6995635 6736245 4916384 6328855 6192895
* 6345469 6988218 6693451 7006761 8140212 8143282 8158482 8176029 8184706
*
* @library /test/lib
* @build jdk.test.lib.RandomFactory
...
...
@@ -470,7 +469,25 @@ public class RegExTest {
m
.
find
();
if
(!
m
.
hitEnd
())
failCount
++;
report
(
"hitEnd from a Slice"
);
// 8184706: Matching u+0d at EOL against \R should hit-end
p
=
Pattern
.
compile
(
"...\\R"
);
m
=
p
.
matcher
(
"cat"
+
(
char
)
0x0a
);
m
.
find
();
if
(
m
.
hitEnd
())
failCount
++;
m
=
p
.
matcher
(
"cat"
+
(
char
)
0x0d
);
m
.
find
();
if
(!
m
.
hitEnd
())
failCount
++;
m
=
p
.
matcher
(
"cat"
+
(
char
)
0x0d
+
(
char
)
0x0a
);
m
.
find
();
if
(
m
.
hitEnd
())
failCount
++;
report
(
"hitEnd"
);
}
// This is for bug 4997476
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录