Для такой строки, как «xyz A.B.C. (что угодно)» (между z и A есть хотя бы один пробел / табуляция / новая строка)

Я хочу найти "A.B.C".

1
Paul 17 Июн 2010 в 07:18

2 ответа

Лучший ответ

Что-то вроде этого:

^\w+\s+((?:[A-Z]\.)+).*$

Дает следующие совпадения (как показано на rubular.com):

matched input        -> group 1 capture
---------------------------------------
xyz A.B.C.whatever   -> A.B.C.
blahblah X.Y.bloop   -> X.Y.

Если это не то, что вы хотите, то ходите со мной туда-сюда по rubular, и мы вместе разработаем узор.

1
polygenelubricants 17 Июн 2010 в 07:06

Возможно, вам нужно будет более конкретно указать, что именно вы пытаетесь сопоставить.

Если это просто буквы с точкой, за которой следует точка (без пробелов между ними), то это сработает:

/xyz\s+((?:[A-Z]\.)+)/

(Он поместит их в первую обратную ссылку (т.е. $ 1).

1
Senseful 17 Июн 2010 в 07:18