powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / RegExp: вклинило по простому вопросу - граница слова
17 сообщений из 17, страница 1 из 1
RegExp: вклинило по простому вопросу - граница слова
    #35674066
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
шаблон "\Be"
строка "de"
Почему есть мач на 1 позиции не могу понять, ведь шаблон должен означать нахождение внутри слова а не на границе ?
Тестер см,например, на http://www.pcre.ru/eval/
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35674284
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что это шаблон не на ЛЕВОЙ границе. Тебе нужно \Be\B
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35674828
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefiшаблон "\Be"
строка "de"
Почему есть мач на 1 позиции не могу понять, ведь шаблон должен означать нахождение внутри слова а не на границе ?
Тестер см,например, на http://www.pcre.ru/eval/Ну так оно и есть внутри слова а не на границе....
Мне кажется, ты путаешь \b и \B.
RegExp Pattern Property\b
Matches a word boundary, that is, the position between a word and a space. For example, "er\b" matches the "er" in "never" but not the "er" in "verb".

\B
Matches a non-word boundary. "ea*r\B" matches the "ear" in "never early".

Наложи шаблоны \babc и \Babc на строки:
1234 abcd
1234 aabcd
И сам увидишь.
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35675263
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyПотому что это шаблон не на ЛЕВОЙ границе. Тебе нужно \Be\B
Ух-ты , никогда бы не догадался, в моей доке ( regexpru.chm) как раз написано, что позиция /B в шаблоне , в отличие от /b как раз НЕ ВАЖНА ! Т.е. , что /B - это отрицание /b, и если /b - это позиция на границе слова , то /B - это позиция внутри слова.
Ну это тот regexpru.chm видно попутал, видно рассуждать нужно было иначе - если важно где стоит в шаблоне /b, то и важно где стоит в шаблоне /B.
2 White Owl > Да нет - как раз получается, что /B может мачить и НЕ ВНУТРИ слова, о чем свидетельствует пример "ear" in "never early". из Вашей противоречивой выдержки.
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35675271
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот только задачка сложнее :
нужно найти / внутри или на правой границе слова (если , конечно допустить, что она там возможна, причем так же нужно представить что внутри слова кроме / могут быть символы $ и %)
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35675273
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. понятие слова выше отличается от обычного только тем, что там могут быть и символы / и $ и %
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35675286
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот такой вот шаблон \S\/ почти дает то что нужно, но с лишним непробельным символом перед искомой позицией / , а поскольку хочется реплейсить через регекс, то он не подходит.
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35675316
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а вот такой вот Pattern="(?<=\S)/(?=.*)" дает то, что нужно, но к сожалению не в VBS - (?<=\S) в vbs не прокатывает .
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35675344
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kefi 2 White Owl > Да нет - как раз получается, что /B может мачить и НЕ ВНУТРИ слова, о чем свидетельствует пример "ear" in "never early". из Вашей противоречивой выдержки.Это не выдержка противоречивая, это ты читать не умеешь.
\B означает НЕ граница слова. Это действительное полное отрицание \b.
В твоем оригинальном примере \Be совпадает с de потому что проверяется на букву e которая не является началом слова.
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35677751
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl[quot]Это не выдержка противоречивая, это ты читать не умеешь.
Как раз читать не умеешь ты, а не я (причем, хоть по русски хоть по английски - один хрен все они врут сплошь и рядом)
Но дело уже давно не в этом
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35678899
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор:
kefi,желтая карточка.
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35679267
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-dukeМодератор:
kefi,желтая карточка.

ну заинтриговал - че это такой за пост ?
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35679409
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: kefi
> ну заинтриговал - че это такой за пост ?

Если скажут "последнее китайское предупреждение" будет понятнее?

пункт 2
;)))

--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35679893
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос
Если скажут "последнее китайское предупреждение" будет понятнее?

пункт 2
;)))

big-duke

Короче, обоим, - хорош флудить. Вы оба не адекватны, причем настолько , что я даже понять не могу - че вам надоть? Ваши посты типа спама в тоне от Фокс Иовович - "смотря потому" - поди разберись что "смотря потому" ?
Читайте внимательно топик и отвечайте по теме , если хотите, или вовсе нечего тут флудить.
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35680058
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: kefi
> Игорь Горбонос
> big-duke
>
> Короче, обоим, - хорош флудить.

Почитай это и дальше. И подумай, на
досуге

--
С уважением Горбонос Игорь Леонидович

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35680223
kefi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос
Почитай это и дальше. И подумай, на
досуге

меня это никаким боком не касается, - над этим на досуге может задуматься сам, ну да ладно - мало ли на свете странного в реакциях людей.
короче решенье задачки таково :
Код: plaintext
\n  s=" /d/////ee/"\n  Set re2=New RegExp: re2.MultiLine=False: re2.Global=True: re2.IgnoreCase=True \n  \'re2.Pattern="\\S/"   \' "(?<=\\S)/(?=.*)" \' тварь vb не может\n  re2.Pattern="(\\S)(/)" \n \'  If re2.Test(s) Then  s=re2.Replace(s, "\\")\n If False then \n  Set matches2 = re2.Execute(s)   \n  For Each match2 in matches2   \n   k=match2.FirstIndex+ 1 \n   s = Left(s,k) & "\\" & Mid(s,k+ 2 )\n   If Mid(s,k, 1 )="/" Then s = Left(s,k- 1 ) & "\\" & Mid(s,k+ 1 )   \' Replace(s, "/", "\\",match2.FirstIndex+1,1)\n   If Mid(s,k+ 2 , 1 )="/" Then s = Left(s,k+ 1 ) & "\\" & Mid(s,k+ 3 ) \'Replace(s, "/", "\\",match2.FirstIndex+3,1)\n  Next\n Else\n  If re2.Test(s) Then  s=re2.Replace(s,"$1\\")\n  If re2.Test(s) Then  s=re2.Replace(s,"$1\\")\n End If\n  \n  MsgBox "|" & s & "|"
...
Рейтинг: 0 / 0
RegExp: вклинило по простому вопросу - граница слова
    #35680322
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор:
Красная карточка.
Тема закрыта.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / RegExp: вклинило по простому вопросу - граница слова
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]