mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
regexp: fix boundaries
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user