|
|
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
Помогите, плиз. Есть строка, содержащая внутри последовательность вида " AF09 BC54 3421 ", мне нужно ее найти Если задаю регекс как "[A-F0-9]{4}\ ", то находит первую группу А если пишу "([A-F0-9]{4}\ ){3}", что по моему мнению должно найти все три группы, то не работает Что я делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 08:33:40 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 09:20:34 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
Astronom, у меня так все находит .NET овские регэкспы. Может попробовать \\ - вдруг в языке, которым вы пользуетесь \ - зарезервированный Escape символ. Или вообще не ставить этот бекслеш ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 09:23:10 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
На всякий случай - пишу на VB.NET Kew, а что значит s/ в начале строки? belugin4, бэкслеш тут как спецсимвол используется, я хотел так пробел выделить. Ну, собственно вот так ([A-F0-9]{4}\s){3} тоже не работает Конструкция типа ^.*([A-F0-9]{4}\s){3}.*$ также не находит ничего А если расширить задачу? Найти подстроку максимальной длины, в которой будут содержаться все группы, состоящие из четырех символов [A-F0-9], разделенные пробелом. Например, для строки dcnsb dsjcndiusc 679В 5462 dcisnci dcnsjcnds G432 F678 5432 7890 nxshicbi dcdcb FA54 должно вернуть G432 F678 5432 7890 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 09:49:59 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
Расширяем... Код: plaintext 1. 2. 3. 4. 5. 6. 7. Возвращает максимально длинные последовательности из 4х указанных символов. Строка с G вообще-то никак не может вернуться, потому как G идет после F ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 10:18:25 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
По всей видимости, проблема у меня не с регэкспами, а с получением результатов. Делаю так Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 10:39:36 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
В тестовой строке русские символы попробуйте сначала отладить регексп тулом http://www.radsoftware.com.au/regexdesigner/ http://regulator.sourceforge.net ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 11:11:30 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
На шарпе, в ВБ переделать легко - Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. А там внутре уже выбираешь самую длинную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 11:27:27 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
А ?: нафиг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 11:35:56 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
belugin4, (Noncapturing group.) Does not capture the substring matched by the subexpression. Есть мнение, что т.к. вам не нужны составлящие подгруппы, то и выдавать их не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 11:43:34 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
morph11 Это для быстродействия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 11:48:58 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
belugin4, Немного быстрее. На небольших объемах вообще незаметно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 12:33:52 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
Кроме того, если снаружи кто-то обращается к результатам выражения по номерам группы, то внутри этого тега(?) можно делать исправления, не опасаясь, что нумерация собьется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 12:37:04 |
|
||
|
RegEx - квантификатор группы
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за помощь, кажется я все понял. belugin4 огромное спасибо за ссылку, с этой тулзой стало сразу все понятно, она показывает какие группы создаются и т.п. к Match.Value можно обращаться только если нет групп внутри выражения, иначе нужно брать Groups, внутри них Captures Либо использовать группы с ?: , тогда группы не создаются в результате, а получается несколько Captures В общем, пойду пробовать новое знание на практике :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2009, 12:59:59 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35937866&tid=1344530]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
446ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 769ms |

| 0 / 0 |
