use strict;
my $str = 'With # : #Zhong Lun Law Firm#
With # : #Algeria’s new Investment Law#
With # : #中伦律师事务所#
With # : #Victor I-Hsiu Chang#
With # : #叶姝欐#
With # : #Nguyen Anh Tuan#
With # : #AnJie Law Firm#
With # : #锦天城律师事务所#
<section id="Capital" class="vantage-bg-grey">
<p id="Capital" class="DOTY_DOTY-Number" style="background-color: #ec1c24; color: #ffffff; font-weight: bold; font-size: 20px; padding: 5px; text-align: justify;"><a style="color: white;" href="#Capital"><u>CAPITAL MARKETS</u></a></p><section id="Capital" class="vantage-bg-grey">
<p id="Capital" class="DOTY_DOTY-Number" style="background-color: #ec1c24; color: #ffffff; font-weight: bold; font-size: 20px; padding: 5px; text-align: justify;"><a style="color: white;" href="#Capital"><u>CAPITAL MARKETS</u></a></p><section id="Capital" class="vantage-bg-grey">
<p id="Capital" class="DOTY_DOTY-Number" style="background-color: #ec1c24; color: #ffffff; font-weight: bold; font-size: 20px; padding: 5px; text-align: justify;"><a style="color: white;" href="#Capital"><u>CAPITAL MARKETS</u></a></p><section id="Capital" class="vantage-bg-grey">
<p id="Capital" class="DOTY_DOTY-Number" style="background-color: #ec1c24; color: #ffffff; font-weight: bold; font-size: 20px; padding: 5px; text-align: justify;"><a style="color: white;" href="#Capital"><u>CAPITAL MARKETS</u></a></p>
one <p>two</p> three <p class="test">four</p> five <a>six</a> seven <p> eight nine <p/> ten
<a style="text-decoration: none;" href="https://beta2.law.asia/china/china-top-lawyers-2022/"><button style="width: 100%; font-size: 18px; letter-spacing: 1px; padding: 14px 20px; color: #666; border-color: #F4F4F4; background-color: #fff; background-image: linear-gradient(to bottom,rgba(0,0,0,.01) 0,rgba(0,0,0,.02) 100%); background-repeat: repeat-x; border-radius: 5px; a: hover{background-color:#000;"><span style="color: #c94f3f; font-weight: bold; text-transform: uppercase;">China</span></button> </a>
[vc_column_text]<a style="text-decoration: none;" href="https://beta2.law.asia/asia/lawyers/singapore-lawyers/"><button style="width: 100%; font-size: 18px; letter-spacing: 1px; padding: 14px 20px; color: #666; border-color: #F4F4F4; background-color: #fff; background-image: linear-gradient(to bottom,rgba(0,0,0,.01) 0,rgba(0,0,0,.02) 100%); background-repeat: repeat-x; border-radius: 5px; a: hover{background-color:#000;"><span style="color: #c94f3f; font-weight: bold; text-transform: uppercase;">Singapore</span></button> </a>[/vc_column_text][/vc_column][vc_column width="1/2"][vc_column_text]
[vc_column_text]<a style="text-decoration: none;" href="https://beta2.law.asia/asia/lawyers/singapore-lawyers/"><span style="color: #c94f3f; font-weight: bold; text-transform: uppercase;">Singapore</span></a>[/vc_column_text][/vc_column][vc_column width="1/2"][vc_column_text]
<a href="https://beta2.law.asia/law-firm/drew-napier/">Drew & Napier</a><br>
Drew & Napier<br>
<a href="https://beta2.law.asia/law-firm/allen-overy/">Allen & Overy</a><br>
Allen & Overy<br>
<a href="https://beta2.law.asia/asia/">Robert Hasan</a><br>
Robert Hasan<br>
华进律师事务所<br>
华进律师事务所<br>
<a href="https://beta2.law.asia/law-firm/deep-far-attorneys-at-law/">Deep & Far</a><br>
Deep & Far
#<a href="https://beta2.law.asia/law-firm/drew-napier/">Drew & Napier</a>#';
my $regex = qr~[^<>](?![^<]*>|[^<>]*<\/)(?!\s\#\s)(\#\S[^<>](?![^<]*>|[^<>]*<\/)(.*?)\S\#)~mp;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html