|
|
|
регулярные
|
|||
|---|---|---|---|
|
#18+
ищу по шаблону состоящему из 3-х частей: 1.либо начало строки либо разделитель 2.моя строка 3.либо конец строки либо разделитель реальный шаблон более сложный, упростил для примера. вопрос по 1 и 3-й частям: шаблон без скобок не дает рез-та. т.е. regEx.Execute записывает в коллекцию Matches результат если: Код: plaintext Код: plaintext почему не срабатывет без скобок? почему обязательно их наличие? пример тестировал на VBA, но не думаю что это имеет значение (VBA или VBS) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 02:16 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
alexmspи не записывает если: Код: plaintext какое-то странное у тебя имхо :-). По-моему тут даже невооруженным глазом видно, что это выражение означает "начало строки ИЛИ \Wstroka$ ИЛИ \W". Оно и находит начало строки. И может быть даже кладет его куда-то, но т.к. "начало строки" руками никак не пощупать, то получается твое "не срабатывет без скобок". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 03:48 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
illionПо-моему тут даже невооруженным глазом видно, что это выражение означает "начало строки ИЛИ \Wstroka$ ИЛИ \W". Следуя такой логике должны сработать оба варианта: Код: plaintext 1. 2. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 16:05 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
illion, по логике ты конечно прав, экспериментально выяснил что последовательность имеет имеет больший приоритет чем | ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 16:43 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
и первый вариант конечно тоже срабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2008, 18:03 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
alexmsp Следуя такой логике должны сработать оба варианта: Код: plaintext 1. 2. Код: plaintext 1. 2. срабатывают ОБА варианта. Пример на VBS: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. alexmsp экспериментально выяснил что последовательность имеет имеет больший приоритет чем | что есть "последовательность" в данном контексте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 00:54 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
выржение "kal6787ya:lki: yuiuyui; stroka".match(/\bstroka\b/) спасет отца русской демократии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 01:17 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
illion, последовательность означает последовательно расположенные символы в шаблоне. Кто знает почему не работает такое:"[\W^]stroka[\W$]" ? Вопрос чисто теоретический от слабого знания теории регулярных. -------------- , не спасет, у меня в "словах" могут быть и др. символы кроме \w (это для примера нарисовано). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2008, 15:03 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
alexmsp, ну так почитайте что-нибудь про регулярные выражения, просветитесь. В рунете советую курс на intuit.ru . Курс дан по регэкспам в perl, но бОльшая часть описанного справедлива и для других языков (за исключением ретроспективных проверок и некоторых доп. конструкций). По заданному вопросу: [ ] задает класс символов. И ^ внутри [ ] будет обычным символом, а не спецсимволом "начало строки", либо будет означать отрицание, если стоит сразу после [. P.S. что, такие уж неразрешимые проблемы с лишними круглыми скобками возникли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 00:36 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
illion, да нет, с круглыми все хорошо, все решилось, дело в том что я любопытный:) Предполагал что начало и конец строки воспринимаются буквально только в таком виде \^ и \$. Почитать бы конечно, но время:) - я же не IT-ишник, занимаюсь IT для развлечения и для автоматизации повседневной работы. В принципе думаю шаблон можно записать кратко без кр.скобок (для этого придется почитать книжку или курс): пришел на ум не очень короткий вариант в лоб:) \Wstroka\W|^stroka\W|\Wstroka$|^stroka$ Спасибо за ответ:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 13:06 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
да, почему интересно найти красивый вариант без кр.скобок. ИМХО круглые скобки увеличивают общее время работы на больших объемах т.к. это означает запоминание каждого найденного соответствия. Даже если Global - False - для кажого Match(0) будут запомнены еще 2 Submatches. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 15:46 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
alexmsp, так ставь конкретную задачу. Мы понятливые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 00:01 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
alexmspИМХО круглые скобки увеличивают общее время работы на больших объемах т.к. это означает запоминание каждого найденного соответствия. Даже если Global - False - для кажого Match(0) будут запомнены еще 2 Submatches. это не повод отказываться от круглых скобок. Для увеличения скорости/уменьшения размеров массива Submatches можно использовать несохраняющие скобки (?:). regEx.Pattern = "(?:^|\W)stroka(?:$|\W)" . Еще раз советую ознакомиться с курсом по регэкспам, ссылку на который я давала. Про (?:) надо искать в лекции "дополнительные конструкции" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 01:14 |
|
||
|
регулярные
|
|||
|---|---|---|---|
|
#18+
illion, Спасибо, это уже то что надо. Видел эту конструкцию в описании , но не сообразил ее применить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2008, 12:42 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=35705810&tid=1455439]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
142ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 445ms |

| 0 / 0 |
