2015-07-25 2 views
0
/<a .*href.*>/ig 

простое регулярное выражение, которое выбирает строки, как:Регулярное выражение для якорных тегов в одной строке

<a href> 
<a href="www.example.com"> 
<a href="http://www.google.com" target="_blank">click me</a> 
<a href="www.google.com" > click me</a> 
<A href="www.123-xyz.com" > click me</a> 

Однако он также выбирает следующий в виде одной строки:

<a href="www.google.com" target="_blank"> www.google.com</a><a href="www.google.com" >click me</a> 

Есть ли любым способом, чтобы вышеуказанные были выбраны как две различные строки, как в:

<a href="www.google.com" target="_blank"> www.google.com</a> 
<a href="www.google.com" >click me</a> 

ответ

1

Ваши * кванторы жадность; сделать их *?неохотно (потребляют мало ввода, как можно сделать матч):

/<a .*?href.*?>/ig 

См demo.

+0

Спасибо. Lazy Propagation right ..: D – dorado

1

Попробуйте this Regex:

<a\s[^>]*>

Надеется, что это помогает.

+0

Look @ match-4. Это дает мне 2 якорных тега в виде одной строки, где, как говорится в этом вопросе, это должны быть две разные строки. Кроме того, я использую только те привязки, которые имеют атрибут href. – dorado

Смежные вопросы