Я пытаюсь сканировать следующую строку со следующим регулярным выражением:сканирования Строки с рубиновым Regular Expression
text = %q{akdce ALASKA DISTRICT COURT CM/ECFalmdce
ALABAMA MIDDLE DISTRICT COURTalndce
}
p courts = text.scan(/(ECF\w+)|(COURT\w+)/)
В идеале, что я хочу сделать, это отсканировать текст и вытащить текст «ECFalmdce» и ' COURTalndce ' С помощью регулярного выражения, которое я использую, я пытаюсь сказать, что мне нужна строка, начинающаяся с COURT или ECF, за которой следует случайная строка символов.
Массив возвращается в:
[["ECFalmdce", nil], [nil, "COURTalndce"]]
Что такая сделка с нулевыми х, кто-нибудь есть более эффективный способ написания регулярных выражений, а кто-нибудь есть ссылки на дополнительную документацию по спичечным группам?
, что не являются захват групп? – Utopia025
Не захватывайте весь узор. Использование '/ (?: ECF | COURT) \ w + /' вместо этого позволит избежать создания подмассивов. –