/<a[\s]+([^>]+)>((?:.(?!\<\/a\>))*.)<\/a>/g
ten jeden będzie pasować do każdego <a ...>...</a>
tag w tym te, które poprawnie dopasowanych które zawierają < ani żadnych pełnych znaczniki takie jak:
blah blah <a href="test.html">This line contains an HTML opening < bracket.</a> blah blah
blah blah <a href="test.html">This line contains <strong>bold</strong> text.</a> blah blah
Czy uchwycić:
<a href="test.html">This line contains an HTML opening < bracket.</a>
- z grup przechwytujących:
href="test.html"
This line contains an HTML opening < bracket.
i
<a href="test.html">This line contains <strong>bold</strong> text.</a>
- grupami rejestracji:
href="test.html"
This line contains <strong>bold</strong> text.
obejmuje także przechwytywanie grup dla znacznika cechy (takie jak CLA ss = ", href =" ", itp.) i zawierają (co jest między tagiem), które można usunąć, jeśli ich nie potrzebujesz.
Jeśli chcesz uchwycić na wielu liniach dodać „s” przed i po „g” flagi na końcu. Zwróć uwagę, że flaga "s" może nie działać we wszystkich smakach wyrażenia regularnego.
przykład przechwytywania (nie korzystając z „S” flag - nie obsługiwany przez regexr jeszcze): http://regexr.com/39rsv
Powiązane http://stackoverflow.com/questions/238891/regular-expressions-match-all-anchors-with-optional-attributes –