regexp: fix boundaries

This commit is contained in:
Bas Leijdekkers
2016-08-11 18:54:05 +02:00
parent 4632777846
commit d9eab2645d
2 changed files with 9 additions and 6 deletions
@@ -37,21 +37,20 @@ public class RegExpBoundaryImpl extends RegExpElementImpl implements RegExpBound
} else if (type == RegExpTT.DOLLAR) {
return Type.LINE_END;
} else {
assert type == RegExpTT.BOUNDARY : type;
final String s = getUnescapedText();
if (s.equals("\\b")) {
return Type.WORD;
} else if (s.equals("\\b{g}")) {
return Type.UNICODE_EXTENDED_GRAPHEME;
} else if (s.equals("\\B))")) {
} else if (s.equals("\\B")) {
return Type.NON_WORD;
} else if (s.equals("\\A))")) {
} else if (s.equals("\\A")) {
return Type.BEGIN;
} else if (s.equals("\\Z))")) {
} else if (s.equals("\\Z")) {
return Type.END_NO_LINE_TERM;
} else if (s.equals("\\z))")) {
} else if (s.equals("\\z")) {
return Type.END;
} else if (s.equals("\\G))")) {
} else if (s.equals("\\G")) {
return Type.PREVIOUS_MATCH;
}
}
+4
View File
@@ -8,6 +8,10 @@
<pattern><![CDATA[<weak_warning descr="Redundant character escape">\;</weak_warning>]]></pattern>
<expected>OK</expected>
</test>
<test host="com.intellij.psi.impl.JavaRegExpHost">
<pattern>\b \b{g} \B \A \z \Z \G</pattern>
<expected>OK</expected>
</test>
</simple>
<quantifiers>
<test verify="false" info="true">