|
|
|
Регулярные выражения
|
|||
|---|---|---|---|
|
#18+
К сожалению я никогда не использовал регулярных выражений. Есть простейшая проблема как добавить символ \ в разрешенные. Я делаю поиск в списке файлов они занесены с \\ пример: c:\\public\\klient.txt c:\\public\\MacAdress.exe c:\\public\\Monitor_Procedur.txt Задаю выражение [a-zA-Z0-9]+ но как добавть туда \\ не знаю пробовал ставить \\\\ не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2012, 13:30:28 |
|
||
|
Регулярные выражения
|
|||
|---|---|---|---|
|
#18+
Объясните задачу и приведите минимальный пример кода, который не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2012, 13:34:59 |
|
||
|
Регулярные выражения
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Хочу отфильтровать только английские буквы и цифры + задать расширение '.xml' последние вроде просто. Код работает но маска задана не правильно. Если ставлю маску '.+' то получаю список всех файлов, а надо отфильтрованных по условию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2012, 15:40:07 |
|
||
|
Регулярные выражения
|
|||
|---|---|---|---|
|
#18+
Если интересно вот класс который вызывается в цикле и проверяет входящею строку. private class Tester{ Pattern MaskCompile; public FormatTester(String Mask) { MaskCompile = Pattern.compile(Mask); } public void printIfNead(String fileName){ if(neadPrint(fileName)){ System.out.println(fileName) ; } } public boolean neadPrint(String fileName) { Matcher math = MaskCompile.matcher(fileName); return math.matches(); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2012, 16:39:35 |
|
||
|
Регулярные выражения
|
|||
|---|---|---|---|
|
#18+
хрень какая-то. а в родительском пути, тоже только цифры и буквы должны быть? А путей много, или одна директория всегда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2012, 16:58:08 |
|
||
|
Регулярные выражения
|
|||
|---|---|---|---|
|
#18+
ErikI, Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Код: powershell 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2012, 22:51:05 |
|
||
|
Регулярные выражения
|
|||
|---|---|---|---|
|
#18+
ivanov-void, Думаю void лишний так как я создаю класс Tester tester = new Tester(format) и далее с ним работаю. С маской чтото не вышло. Может быть не так с хранением. Вот класс который я взял из инета и изменил. import java.io.File; import java.util.LinkedList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class FileParser { public void parse(String root, int depth, String format) { Tester tester = new Tester(format) ; List<String> currentDirContent = getListDirectoryContent(new File(root)) ; List<String> nextDirContent = new LinkedList<String>() ; int currentDepth = 0 ; while (currentDepth < depth) { for(String iter : currentDirContent){ File temp = new File(iter) ; if(temp.isFile()){ tester.printIfNead(iter) ; }else if(temp.isDirectory()){ nextDirContent.addAll(getListDirectoryContent(temp)); } } currentDirContent = nextDirContent ; nextDirContent = new LinkedList<String>() ; currentDepth ++ ; } } private List<String> getListDirectoryContent(File fp){ List<String> returnList = new LinkedList<String>() ; if( fp.list() != null){ for (String iter : fp.list()) { returnList.add(fp.getAbsoluteFile()+ File.separator+ iter); } } return returnList ; } private class Tester{ Pattern MaskCompile; public Tester(String Mask) { MaskCompile = Pattern.compile(Mask); } public void printIfNead(String fileName){ if(neadPrint(fileName)){ System.out.println(fileName) ; } } public boolean neadPrint(String fileName) { Matcher math = MaskCompile.matcher(fileName); return math.matches(); } } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2012, 13:41:17 |
|
||
|
Регулярные выражения
|
|||
|---|---|---|---|
|
#18+
ErikIДумаю void лишний так как я создаю класс Tester tester = new Tester(format) и далее с ним работаю. Для конструктора- да, но не для метода Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2012, 13:50:56 |
|
||
|
Регулярные выражения
|
|||
|---|---|---|---|
|
#18+
ErikIС маской чтото не вышло. Может быть не так с хранением. Не знаю, что у вас не вышло; указанный regexp задает строгий матч по паттерну. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2012, 13:59:17 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37882927&tid=2131342]: |
0ms |
get settings: |
13ms |
get forum list: |
27ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
58ms |
get topic data: |
21ms |
get forum data: |
5ms |
get page messages: |
91ms |
get tp. blocked users: |
2ms |
| others: | 301ms |
| total: | 532ms |

| 0 / 0 |
