Регулярное выражение для выбора гиперссылки - PullRequest
0 голосов
/ 21 апреля 2010

Я использую следующее выражение, чтобы выбрать все гиперссылки

// а [@href]

Как написать выражение, чтобы выбрать все гиперссылки, соответствующие этому формату

http://abc.com/articles/1

здесь http://abc.com/articles/ является постоянным и номер артикула увеличивается

Ответы [ 3 ]

1 голос
/ 21 апреля 2010
<a\s.*?href=(?:["'](http://abc.com/articles/([0-9])+)["']).*?>(.*?)</a>

UPDATE:

Если вам нужно выражение xpath, вот оно:

a[starts-with(@href,'http://abc.com/articles/')]

это вернет все ссылки, которые имеют атрибут href, начинающийся с 'http://abc.com/articles/' Надеюсь, это ответит на ваш вопрос.

1 голос
/ 21 апреля 2010

Это выражение выглядит как XPath, а не как регулярное выражение. Регулярное выражение для этого конкретного URL будет выглядеть как

^http://abc.com/articles/\d+$

Но я полагаю, вам придется использовать ваш запрос xpath, чтобы найти гиперссылки, а затем отфильтровать их по атрибуту HREF, используя это регулярное выражение.

0 голосов
/ 21 апреля 2010

Это немного излишне, но это регулярное выражение, которое я использую в своих приложениях для поиска URL-адресов в виде простого текста:

(\ Ь ((: HTTPS | FTP | файл):?.. // | WWW \ | FTP \) (?: [?!. - А-Z0-9 + & @ # /% = ~ | \ $ \: \] \ (* \) | [?!. -А-Z0-9 + & @ # /% = ~ | \ $ \: \]) * (?: [?!. - А-Z0-9 + & @ # /% = ~ | \ $ \: \] \ (* \) | [A-Z0-9 + & @ # /% = ~ | \ $]))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...