Русское сообщество AutoIt

  • Май 20, 2013, 05:58:05 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:

Создана конференция в Jabber'е для обсуждения мелких вопросов касающихся AutoIt.

Всем у кого есть джаббер-клиент, могут присоединиться к конференции по адресу xmpp:autoit@conference.jabber.ru

Комната/Конференция/Чат не призвана заменить этот форум, а лишь для ускорения получения ответов на элементарные и короткие вопросы, которые возможно не требуют создания специальной темы на данном форуме. Для всех остальных, сколь-нибудь сложных и комплексных проблем - исключительно на форум. Комната является постоянной, но при заходе у пользователя будет отсутствовать право писать в общий чат.

Тема на форуме.

Реклама

Автор Тема: Как получить число внутри квадратных скобок с дополнительным условием...  (Прочитано 1078 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Yashied [?]

  • Глобальный модератор
  • AutoIt MVP
  • *
  • *****
  • Репутация: 2296
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 4251
    • Награды
Есть элемент структуры (без кавычек):

"byte[4]"

Как получить число внутри "[]", в данном случае 4, с помощью StringRegExpReplace()? Но есть одно условие: если этх кавычек нет, например "byte", то функция должна возвратить пустую строку, если есть, то число.




  Записан


Думай, прежде чем говорить.

Zaramot [?]

  • AutoIt Гуру
  • *****
  • Репутация: 612
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 1115
  • Версия AutoIt: 3.3.8.1
  • I ♥ AutoIt
    • Награды
Так сайдёт ?:
Код: AutoIt [Выделить]
$string = 'byte[4]'
$Reg = StringRegExp($string, '\[(.*?)\]', 3)
If Not @error Then
    MsgBox(0, '', $Reg[0])
Else
    MsgBox(0, '', '0')
EndIf




  Записан

Yashied [?]

  • Глобальный модератор
  • AutoIt MVP
  • *
  • *****

  • Автор темы
  • Репутация: 2296
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 4251
    • Награды
Мне нужно через StringRegExpReplace().




  Записан

Zaramot [?]

  • AutoIt Гуру
  • *****
  • Репутация: 612
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 1115
  • Версия AutoIt: 3.3.8.1
  • I ♥ AutoIt
    • Награды
Вот:
Код: AutoIt [Выделить]
$string = 'byte[4]'
$Reg = StringRegExpReplace($string, '[^\d]', '')
MsgBox(0, '', $Reg)
« Последнее редактирование: Август 29, 2011, 04:41:03 от Zaramot, Причина: Объединение сообщений »



  Записан

gregaz [?]

  • AutoIt Гуру
  • *****
  • Репутация: 283
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 1091
  • Версия AutoIt: 3.3.8.1
    • Награды
Не уверен,что правильно понял условие, но
может быть это :
Код: AutoIt [Выделить]
$sPattern = '[^[]+\[?(\d*)\]?'
$sRezult = StringRegExpReplace ( $sText ,$sPattern,'\1' )
 




  Записан
Самая большая проблема – её сформулировать. 

Yashied [?]

  • Глобальный модератор
  • AutoIt MVP
  • *
  • *****

  • Автор темы
  • Репутация: 2296
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 4251
    • Награды
Zaramot

Спасибо, но это не будет работать в следующей ситуации (хотя, конечно, я об этом забыл сказать):

Код: AutoIt [Выделить]
ConsoleWrite(StringRegExpReplace('Reserved1[5]', '[^\d]', '') & @CR)

gregaz

Спасибо, все работает.




  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
Получить текст/число с вебстраницы открытой в браузере
AutoIt для новичков
Лоу 4 1595 Последний ответ Апрель 21, 2010, 11:09:24
от Лоу
Как получить часть текста внутри строки с помощью рег. выражений
Регулярные выражения и прочее
Yashied 15 2600 Последний ответ Декабрь 29, 2010, 18:57:43
от CreatoR
Как получить число из другого окна
AutoIt для новичков
xdacc 6 1459 Последний ответ Февраль 11, 2011, 14:22:43
от madmasles
Регулярные выражения: Как убрать все что вне круглых скобок?
Регулярные выражения и прочее
Kalisnik 2 2058 Последний ответ Февраль 11, 2011, 20:26:34
от CreatoR
Выбрать текст из строки с дополнительным условием
Регулярные выражения и прочее
Yashied 12 1032 Последний ответ Февраль 20, 2012, 03:56:14
от CreatoR
Решение квадратных уравнений: обыкновенные дроби.
AutoIt для новичков
trizorka 17 2407 Последний ответ Май 16, 2012, 17:10:16
от C2H5OH
Извлечение текста внутри последних в строке круглых скобок
Регулярные выражения и прочее
Yashied 2 653 Последний ответ Май 26, 2012, 04:44:49
от Yashied
[RegExp] получить число из скобок
Регулярные выражения и прочее
MockeR 2 758 Последний ответ Август 06, 2012, 20:54:12
от MockeR
[Математика] Скрипт для решения квадратных уравнений
AutoIt для новичков
obeyme 5 192 Последний ответ Май 12, 2013, 17:27:33
от obeyme
[Мышь, клавиатура] непрерывный цикл с множественным условием внутри
AutoIt для новичков
D0R0T0N 13 422 Последний ответ Май 14, 2013, 01:41:08
от AZJIO


Реклама