<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Re: Regex (match nested comments)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1544.aspx</link><pubDate>Sat, 02 Apr 2005 15:29:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1544</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1544.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1544</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef" face="Tahoma" size="2"&gt;Αν ήταν αυτά τα σημαντικά προβλήματα του FreeTextBox δεν θα είχαμε λόγο ανυσηχίας... &lt;img src="/forums//emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;br /&gt;&lt;br /&gt;Το κακό είναι ότι και στη νεότερη έκδοσή του που είναι στο CS 1.0 θα βρείτε περισσότερα περίεργα...&lt;br /&gt;&lt;br /&gt;George J.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: Regex (match nested comments)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1535.aspx</link><pubDate>Sat, 02 Apr 2005 03:04:20 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1535</guid><dc:creator>jded</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1535.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1535</wfw:commentRss><description>Sorry. Δεν το είχα τσεκάρει. &lt;img src="/forums//emoticons/emotion-10.gif" alt="Embarrassed" /&gt;&lt;br /&gt;Το δοκίμασα και με IE και με Firefox και όντως δε παίζει σωστά. Στον IE παίζει το colorization όντως αλλά χάνει τα tabs ενώ στο FireFox δεν παίζουν ούτε τα χρώματα.</description></item><item><title>Re: Regex (match nested comments)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1528.aspx</link><pubDate>Fri, 01 Apr 2005 23:01:16 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1528</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1528.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1528</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Ε, αυτό ήταν προφανές οτι θα το είχα ήδη δοκιμάσει &lt;img src="/forums/emoticons/emotion-1.gif" alt="Smile" /&gt; Αλλα το κακό είναι οτι το πρόβλημα παραμένει. Χμ...χρησιμοποιώ Maxthon και οχι IE. (Τη μηχανή του IE εχει βεβαια). Λες να φταιει κατι;....Χμ...θα δοκιμάσω πάλι με ΙΕ...δοκίμασα! Τα ιδια...:( :( :(&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: Regex (match nested comments)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1527.aspx</link><pubDate>Fri, 01 Apr 2005 22:46:23 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1527</guid><dc:creator>jded</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1527.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1527</wfw:commentRss><description>&lt;!--StartFragment --&gt;Για σωστό paste κώδικα δοκίμασε το button &lt;img tabindex="" height="20" alt="VBButton" src="/forums/FreeTextBox/images/button_vb.gif" width="21" border="0" unselectable="on" /&gt;που έχει πάνω από το box που γράφεις.</description></item><item><title>Re: Regex (match nested comments)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1523.aspx</link><pubDate>Fri, 01 Apr 2005 21:20:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1523</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1523.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1523</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Λοιπον τελικά έβαλα και λίγο (!) VB.NET μέσα. Αμα έχει κανείς όρεξη, ας το δει μήπως και κατι μου έχει ξεφύγει. Φαίνεται οτι δουλεύει.&lt;br /&gt;&lt;br /&gt;Βασικά είναι μια φόρμα με δύo textboxes, TextBox1 (source) TextBox2 (destination). Παίρνει το text του source, και το παρσάρει φτύνοντάς το στο destination. (Δοκιμή είναι, μην βαράτε για τα ονόματα) &lt;img src="/forums/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;&lt;br /&gt;Επίσης: ΠΩΣ μπορω να κάνω σωστό paste κώδικα σε αυτό τον editor? Μου έχει σπάσει τα νεύρα...αν κάνω μέσα από το VS βγαίνει το colorization, δεν βγαίνουν τα indents...αν κάνω paste σε notepad και μετά εδώ...οριστε το αποτέλεσμα....&lt;br /&gt;&lt;/p&gt;&lt;pre class="source"&gt;&lt;table border="0" cellspacing="0" width="100%"&gt;&lt;tr&gt;&lt;td width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey" width="15"&gt;&lt;/td&gt;&lt;td bgcolor="lightgrey"&gt;&lt;br&gt;&lt;font face="Lucida Console, Courier" size="2"&gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.TextBox2.Text = RemoveCommentBlocks(TextBox1.Text)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;summary&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// Removes "/*...*/" comment blocks (single-line and multi-line) from our string&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// taking care of possible nested comment blocks. Also calls RemoveInlineComments &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// which removes "--...." comments.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;/summary&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;param name="strText"&amp;gt;The string representing the code to remove the comments from&amp;lt;/param&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;returns&amp;gt;String&amp;lt;/returns&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Function RemoveCommentBlocks(ByVal strText As String) As String&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'StringBuilder is created for speed. &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'The stringbuilder takes the output of RemoveInlineComments which &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'removes all "--...." things.&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim objSB As New StringBuilder(RemoveInlineComments(strText))&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Create a regular expression to match "/* ... */" patterns&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim objRegEx As _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; New Regex("/\*[\d\D]*?\*/", _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RegexOptions.Multiline _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + RegexOptions.CultureInvariant _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + RegexOptions.ECMAScript)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Start parsing our code to find "/* ... */" patterns. &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'We may also find "/*.../*...*/" patterns if we have nested comments&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'But we will take care of them using FindInner()&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Go on as long as we find matches&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; While (Not objSB.Equals(String.Empty)) AndAlso objRegEx.IsMatch(objSB.ToString)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'If we find a match check whether it is a "/*.../*...*/" pattern&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'using FindInner&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strMatch As String = objRegEx.Match(objSB.ToString).ToString&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objSB.Replace(FindInner(strMatch, objRegEx), "")&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End While&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Spit the result &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return (objSB.ToString)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Silly exception handling&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(ex.Message)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;summary&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// Removes inline "--..." comments&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;/summary&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;param name="strText"&amp;gt;The string representing the code to remove the comments from&amp;lt;/param&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;returns&amp;gt;String&amp;lt;/returns&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Function RemoveInlineComments(ByVal strText As String) As String&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Create a StringBuilder for speed&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim objSB As New StringBuilder(strText)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Create a regular expression to match "--..." patterns&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim objRegEx As _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; New Regex("--.*$", _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RegexOptions.Multiline _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + RegexOptions.CultureInvariant _&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + RegexOptions.ECMAScript)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Go on while we have a match&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; While (Not objSB.Equals(String.Empty)) AndAlso objRegEx.IsMatch(objSB.ToString)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Take care of the match&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strMatch As String = objRegEx.Match(objSB.ToString).ToString&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objSB.Replace(strMatch, ControlChars.CrLf)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End While&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Spit result&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return (objSB.ToString)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Silly exception handling&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox(ex.Message)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;summary&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// Finds inner blocks in strings following a "/*.../*...*/" pattern and locates the &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// innermost block&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;/summary&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;param name="strMatch"&amp;gt;A string that comes from a regular expression match&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// which follows a "/*.../*...*/" pattern&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;/param&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;param name="objRegEx"&amp;gt;The regular expression that searches for "/*...*/" patterns&amp;lt;/param&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/// &amp;lt;returns&amp;gt;String&amp;lt;/returns&amp;gt;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Function FindInner(ByVal strMatch As String, ByVal objRegEx As Regex) As String&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Get the position of the second "/*" we may have inside our string&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim intPos As Int32&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; intPos = InStr(strMatch.Substring(3, Len(strMatch) - 5), "/*")&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If intPos &amp;gt; 1 Then&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'If we've got an "/*" inside our string, recursively call&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'our function in case we've got more than one levels of nested&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'comment blocks. &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return FindInner(objRegEx.Match(strMatch.Substring(intPos, Len(strMatch) - intPos)).ToString, objRegEx)&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'We haven't got "/*"s inside our string anymore,&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'so return the resulting string. If we initially got a string which &lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'does not contain an "/*", the function will just return the same string&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return strMatch&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/pre&gt;&lt;pre class="source"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;/font&gt;&lt;br&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/pre&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/font&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt; &lt;p&gt;&lt;br /&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt; &lt;p class="source"&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Regex (match nested comments)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1520.aspx</link><pubDate>Fri, 01 Apr 2005 18:59:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1520</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1520.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1520</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Χμ, το είχα δοκιμάσει αυτό. Δεν έπαιζε σωστά. Και θέλω multiline.&lt;br /&gt;&lt;br /&gt;Οπως:&lt;br /&gt;&lt;br /&gt;some code here&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;some outer comments&lt;br /&gt;&lt;br /&gt;/* some other inner comments&lt;br /&gt;some more inner comments&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;some more outer comments&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;some more code here&lt;br /&gt;&lt;br /&gt;Αυτό που θέλω να μείνει τελικά είναι τα:&lt;br /&gt;some code here&lt;br /&gt;some more code here&lt;br /&gt;&lt;br /&gt;Κανοντας match τα υπόλοιπα. Σκεφτόμουν να βρω ενα τρόπο να κάνω πρώτα match το:&lt;br /&gt;/* some other inner comments&lt;br /&gt;some more inner comments&lt;br /&gt;*/&lt;br /&gt;να το αφαιρέσω και μετά να κάνω match το εξωτερικό.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: Regex (match nested comments)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1519.aspx</link><pubDate>Fri, 01 Apr 2005 18:52:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1519</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1519.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1519</wfw:commentRss><description>Το απλό &lt;font color="#008000" face="Courier New"&gt;/\*.*\*/&lt;/font&gt; με SingleLine (μόνο) κάνει match στο string&lt;br /&gt; &lt;font color="#008000" face="Courier New"&gt;adsf/*asd&lt;br /&gt; /*fads*/&lt;br /&gt; asd*/adf&lt;/font&gt;&lt;br /&gt; το &lt;br /&gt; &lt;font color="#008000" face="Courier New"&gt;/*asd&lt;br /&gt; /*fads*/&lt;br /&gt; asd*/&lt;/font&gt;&lt;br /&gt;</description></item><item><title>Regex (match nested comments)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1518.aspx</link><pubDate>Fri, 01 Apr 2005 18:35:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1518</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1518.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=1518</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Τα δεδομένα μου:&lt;br /&gt;Εχω τον κώδικα ενός τυχαίου SQL Script το οποίο περιέχει comments της μορφής&amp;nbsp; "/* bla bla */" και ενδεχομένως και nested τέτοια (multiline).&lt;br /&gt;&lt;br /&gt;Εχω ένα ωραίο UDF που τα αφαιρεί, το θέμα είναι οτι κάνει χρόνια. Εψαχνα λοιπόν να κάνω το ίδιο πράγμα με regular expressions. &lt;br /&gt;&lt;br /&gt;Μετά από μια μικρή έρευνα, κατέληξα στα εξής:&lt;br /&gt;&lt;font size="1"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;RegexOptions.Multiline + RegexOptions.CultureInvariant + RegexOptions.ECMAScript&lt;br /&gt;Και το regular expression μου είναι το: /\*[\d\D]*?\*/&lt;br /&gt;&lt;br /&gt;Το θέμα είναι οτι αυτό δεν δουλεύει σωστά σε nested comments. Φυσικό, γιατί κάνει match στο start του εξωτερικού comment μέχρι το end του εσωτερικού. &lt;br /&gt;Θέλω λοιπόν κάτι που να κάνει match στα "/*anycharacters*/"&amp;nbsp;ΜΟΝΟ&amp;nbsp;όμως όταν το anycharacters δεν περιέχει τα strings "/*", "*/". Ετσι θα μπορούσα να αφαιρώ τα εσωτερικά&amp;nbsp;comments&amp;nbsp;πρώτα και μετά να κάνω match στα υπόλοιπα.&lt;br /&gt;&lt;br /&gt;Καμμία πρόταση;&amp;nbsp;Επισκέφτηκα ήδη το &lt;a target="_blank" title="http://www.regexlib.com" href="http://www.regexlib.com"&gt;www.regexlib.com&lt;/a&gt;&amp;nbsp;αλλά καμμία τύχη με τα nested comments. &lt;br /&gt;&lt;/p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;&lt;font size="1"&gt; &lt;p&gt;&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;</description></item></channel></rss>