diff --git a/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java b/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java index 7cd154a97381..0419033fdc23 100644 --- a/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java +++ b/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java @@ -920,6 +920,13 @@ public class FindManagerTest extends DaemonAnalyzerTestCase { runAsyncTest("/*" + text + "*/", findModel); } + public void testProperInsensitiveSearchForRegExp() throws Exception { + createFile("a.java", "Цитрус цитрус"); + FindModel findModel = FindManagerTestUtils.configureFindModel("цитрус"); + findModel.setRegularExpressions(true); + assertSize(2, findUsages(findModel)); + } + private void runAsyncTest(String text, FindModel findModel) throws InterruptedException { final Ref result = new Ref<>(); final CountDownLatch progressStarted = new CountDownLatch(1); diff --git a/platform/indexing-api/src/com/intellij/find/FindModel.java b/platform/indexing-api/src/com/intellij/find/FindModel.java index a073dd244a64..85120a860887 100644 --- a/platform/indexing-api/src/com/intellij/find/FindModel.java +++ b/platform/indexing-api/src/com/intellij/find/FindModel.java @@ -937,7 +937,7 @@ public class FindModel extends UserDataHolderBase implements Cloneable { Pattern pattern = myPattern; if (pattern == PatternUtil.NOTHING) { try { - myPattern = pattern = Pattern.compile(toFind, isCaseSensitive() ? Pattern.MULTILINE : Pattern.MULTILINE | Pattern.CASE_INSENSITIVE); + myPattern = pattern = Pattern.compile(toFind, isCaseSensitive() ? Pattern.MULTILINE : Pattern.MULTILINE | Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE); } catch (PatternSyntaxException e) { myPattern = pattern = null;