|
Помогите составить регулярное выражение |
☑ |
0
Steel_Wheel
07.12.11
✎
11:11
|
Есть строка "70 А. 602 000 B."
Помогите составить регулярное выражение такое, чтобы оно захватывало только "70" и "602 000" (внимание, между 602 и 000 -- неразрывный пробел). Цифры "70" и "602 000" даны сугубо для примера -- они могут быть любыми, а вот А и B присутствуют в строке постоянно.
Заранее большое спасибо
|
|
1
Лефмихалыч
07.12.11
✎
11:17
|
(\d+)[\w|\s+]([\d|<НЕРАЗРЫВНЫЙПРОБЕЛ>]+)
|
|
2
Steel_Wheel
07.12.11
✎
11:23
|
(1) Спасибо, работает.
|
|
3
Лефмихалыч
07.12.11
✎
11:23
|
(2) Да ладно!..
не ожидал, если честно
|
|
4
Steel_Wheel
07.12.11
✎
12:14
|
Блин, "Калькулятор regexp" показывает 2 матча, а в фреймворке только 1
|
|
5
Ненавижу 1С
гуру
07.12.11
✎
12:16
|
(4) ленивые вычисления
|
|
6
Steel_Wheel
07.12.11
✎
12:24
|
(5) А как примерно поправить?
|
|
7
Ненавижу 1С
гуру
07.12.11
✎
12:29
|
((\d+)[\w|\s+]([\d|<НЕРАЗРЫВНЫЙПРОБЕЛ>]+))?
или так, хз если честно:
(\d+)[\w|\s+]([\d|<НЕРАЗРЫВНЫЙПРОБЕЛ>]+?)
|
|
8
Steel_Wheel
07.12.11
✎
12:37
|
(7) Нифига не понимаю: в калькуляторе регулярных выражений все выражения захватывают 2 числа, во фреймворке выражения от Лефмихалыч захватывают только первое число, а твои захватывают цифру "5"...
Какой-то тут RegExp странный
|
|
9
Ненавижу 1С
гуру
07.12.11
✎
12:42
|
а такое что выдает?
(\d|<НЕРАЗРЫВНЫЙПРОБЕЛ>)+(\d)
|
|
10
Steel_Wheel
07.12.11
✎
12:50
|
Калькулятор дает 3 числа: 70, 602, 000
Фреймворк дает 70
Кстати, проверил: там обычный пробел
|
|
11
Ненавижу 1С
гуру
07.12.11
✎
12:52
|
(\d+)(_?)(\d+)
где _-твой чудо пробел
калькулятор то какой?
|
|
12
Steel_Wheel
07.12.11
✎
13:00
|
(11) Калькулятор
Фреймворк: HP Quick Test Pro (plain vbscript)
Выражение 65 дает
|
|
13
Ненавижу 1С
гуру
07.12.11
✎
13:03
|
(12)
|
|
14
Steel_Wheel
07.12.11
✎
13:06
|
(13) В том-то и дело, что калькулятор нормально выдает, а вот во фреймворке лажа какая-то (
|
|
15
Steel_Wheel
07.12.11
✎
13:07
|
Первая цифра только в последнем примере
|
|
16
Ненавижу 1С
гуру
07.12.11
✎
13:08
|
показывай как ты его юзаешь
|
|
17
Steel_Wheel
07.12.11
✎
13:12
|
(16) Разобрался, во фреймворке флаг "Global" по умолчанию сброшен. А в калькуляторе установлен...
Пример (13), в частности, заработал.
Ненавижу 1С, Лефмихалыч, спасибо
|
|
18
Steel_Wheel
07.12.11
✎
15:35
|
А можно ли через shell какой-нить regexp использовать?
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший