2015-05-27 3 views
1

Почему я получаю stackOverFlowError при запуске регулярного выражения для поиска прокомментированной строки?Android-редактор regex - ошибка при поиске по всему проекту

regex: 
/\*(?!\*)(?:.|\W)*?\*/ 

Это не дает ошибку при поиске в конкретном файле Java, но это происходит, когда я искать его по всему проекту.

ответ

1

Я предлагаю вам изменить регулярное выражение, как это,

\/\*(?!\*)[\s\S]*?\*\/ 

[\S\s]*? будет найдено пространством или некосмического charcaters без жадности. Таким образом, это соответствовало бы разрыву строк.

+0

thanx, он работает, не могли бы вы объяснить, почему. \ W не работает, пока \ s \ S работает здесь.? –

+0

@deepaktiwari это может быть из-за выхода из косой черты. Не пытайтесь избежать косой черты. А также '(?:. | \ W) *' будет переключаться каждый раз, когда находит разрыв строки. –

+0

Я не избегаю косой черты лица, в выражении, которое я избегаю * charector, также я думаю, что косой чертой не нужно бежать, поскольку это не специальный харектор. также используются. | \ W с *? поэтому он не жадный, но точно не знает, почему он не работает. –

Смежные вопросы