Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / А можно ли из регулярного выражения исключить 1-у или 2-е группы захвата, или 1-у оставить / 6 сообщений из 6, страница 1 из 1
10.09.2015, 15:27
    #39048221
Жентос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А можно ли из регулярного выражения исключить 1-у или 2-е группы захвата, или 1-у оставить
Добрый день,
есть строка в тексте:
stringcommunityConfig = { helpDeskEmail: 'scpdevsupport@sabre.com', token: '99d3-79ac-4a79-4ab4-aaef-1cb8-fafa-cd22', customerAutocompleteMaxResults: '10', metricNameAutocompleteMaxResults: '10'};

есть регулярное выражение, которое получает подстроку:
substringtoken: '99d3-79ac-4a79-4ab4-aaef-1cb8-fafa-cd22'

само выражение:
regexp(token: ')([A-Za-z0-9\-]+)(\')

Можно ли средствами регулярных выражений отбросить первую и третью группы захвата, или оставить одну вторую?
Спасибо

>-------------------------------------<<
Je suis Quichi :D
...
Рейтинг: 0 / 0
10.09.2015, 15:38
    #39048234
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А можно ли из регулярного выражения исключить 1-у или 2-е группы захвата, или 1-у оставить
Можно, но нужно знать, какие именно регвыражения ты используешь.
Нужно знать твой движок RegExp-ов.

Направление куда идти -- есть группы, которые НЕ захватываются, они выделяются (?: ... ) , но это не всеми поддерживается.
...
Рейтинг: 0 / 0
10.09.2015, 15:41
    #39048239
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А можно ли из регулярного выражения исключить 1-у или 2-е группы захвата, или 1-у оставить
Жентосregexp(token: ')([A-Za-z0-9\-]+)(\')

Можно ли средствами регулярных выражений отбросить первую и третью группы захвата, или оставить одну вторую?
Спасибо


Конкретно тут всё ещё проще, тут первая и третья группы просто не нужны вообще, рег. выр.

Код: plaintext
1.
(token: ')([A-Za-z0-9\-]+)(\')

можно заменить на
Код: plaintext
1.
token: '([A-Za-z0-9\-]+)\'

оно тоже будет работать, но не будет захватывать token и закрывающую кавычку.
...
Рейтинг: 0 / 0
10.09.2015, 15:59
    #39048259
Жентос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А можно ли из регулярного выражения исключить 1-у или 2-е группы захвата, или 1-у оставить
MasterZivМожно, но нужно знать, какие именно регвыражения ты используешь.
Нужно знать твой движок RegExp-ов.

Направление куда идти -- есть группы, которые НЕ захватываются, они выделяются (?: ... ) , но это не всеми поддерживается.
Использую java-овский, решение, в принципе, подошло, только не очень понятно, как составляется массив match-eй. Конкретно, результат оказался в matches[0][1]. Было бы здорово, если бы Вы пояснили, как такой массив составляется

MasterZivКонкретно тут всё ещё проще, тут первая и третья группы просто не нужны вообще, рег. выр.

Код: plaintext
1.
(token: ')([A-Za-z0-9\-]+)(\')
можно заменить на
Код: plaintext
1.
token: '([A-Za-z0-9\-]+)\'
оно тоже будет работать, но не будет захватывать token и закрывающую кавычку.
Это решение не подошло, т.к. все-таки было приклеено слово token в начале
...
Рейтинг: 0 / 0
10.09.2015, 18:37
    #39048433
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А можно ли из регулярного выражения исключить 1-у или 2-е группы захвата, или 1-у оставить
Я не скажу, надо читать документацию.
...
Рейтинг: 0 / 0
11.09.2015, 18:18
    #39049578
Жентос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
А можно ли из регулярного выражения исключить 1-у или 2-е группы захвата, или 1-у оставить
MasterZivЯ не скажу, надо читать документацию.

Код: groovy
1.
2.
3.
4.
5.
6.
def response = messageExchange.getResponseContent()

// Extracting our communityConfigToken
def re = /(?:token: ')([A-Za-z0-9\-]+)(?:\')/ 

def matcher = ( response =~ re ) 
def communityConfigToken = matcher[0][1]


ну, вот так этот фрагмент кода выглядит
matcher после создания имеет тип java.util.regex.Matcher, но вот какие образом он был создан - я не знаю
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / А можно ли из регулярного выражения исключить 1-у или 2-е группы захвата, или 1-у оставить / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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