Постим варианты разбора строк сюда.
- Код: Выделить всё
'============================================
' Сжатие пробелов в строке
'============================================
'
CompressSpaces:
TheMain = "Регулярные выр-ния, как помощник програмиста !"
Mask = "\x20[\x20]+" ' найти пробелы следующие друг за другом
ReplaceMask = "\x20" ' заменить одиночными
PosVar = 1 : StartVar = 1
PRINT "TheMain начинается как: " & $DQ & TheMain & $DQ
WHILE StartVar
REGREPL Mask IN TheMain WITH ReplaceMask AT StartVar TO Posvar, NewMain
StartVar = PosVar
TheMain = NewMain
WEND
PRINT "TheMain Заменён на: " & $DQ & NewMain & $DQ
- Код: Выделить всё
'============================================
' Форматируем телефонные номера
'============================================
'
PhoneNumberFormat:
Mask = "\([0-9][0-9][0-9]\)-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]"
TheMain = " Позвони мне по номеру (123)-123-4567"
REGEXPR Mask IN TheMain TO PosVar,LenVar
IF PosVar THEN PRINT MID$(TheMain, PosVar, LenVar)
- Код: Выделить всё
'============================================
' Поиск слов в строке
'============================================
'
TheMain = "Looking for words in string" & $CRLF & " and showing them !"
mask = "[a-z]+\b" ' \b = недокументированная CRLF word bound
PosVar = 1: StartVar = 1
WHILE PosVar
REGEXPR Mask IN TheMain AT StartVar TO PosVar,Lenvar
IF PosVar THEN
TheWord = MID$(TheMain, Posvar, LenVar)
MSGBOX TheWord
StartVar = PosVar + LenVar
END IF
WEND