Regex Doesn't Catch "Extra" Group?
Aug 11, 2009the regex:
# Region
<tr>
s*<tds+class="grey11">Region:</td>s*
<tds+class="b11s+b">(?<Region>.+?(?=</td>))</td>
s*
[Code]...
the regex:
# Region
<tr>
s*<tds+class="grey11">Region:</td>s*
<tds+class="b11s+b">(?<Region>.+?(?=</td>))</td>
s*
[Code]...
I am having an issue where I am using regex.Replace to replace part of a string. The basic idea is that I want to capture the beginning of the string then replace the end of the string with a value from code. For an example pretend I have a string that says "Test Number " followed by number and I want to increment that number. I capture the "Test Number " but when I try to concatenate that capture with the new number it treats the capture ($1) as a literal and replaces the entire string with $1[new number].
[code]...
This will output "We are on Test Number 2", as expected. how I can use a variable in the replacement string portion of the Regex.Replace when including a captured group?
i have a small program to run through a log file and extract data from it which works, but the array it puts out has a blank value before and after the actual data values, and it confuses me why that happens, i dont really understand why and was hoping someone here knew! the parts of the code related are below
Dim rgxSessionStart As New Regex("^Session Start: [A-Z][a-z][a-z] ([A-Z][a-z][a-z]) (dd) dd:dd:dd (dddd)")
Dim substrings() As String
substrings = rgxSessionStart.Split(LineIn)
a sample line that it would match is Session Start: Sun Aug 22 00:00:00 2010 which WORKS, but the values of the array are "","Aug","22","2010","". so its not a critical problem because i can still get the data from it, but those blank values are puzzling and i feel like maybe im doing something wrong with the syntax or method for them to be there.
Hi, i have a regex code to get the time from a webbrowser but there is more than 1 time all in the same format.I need it to get the first time it catches, atm it gets the last time not the first?
Dim Regex As New Regex("d+:d+( [AP]M)")
Dim Matches As MatchCollection = Regex.Matches(WebBrowser1.DocumentText)
For Each Match As Match In Matches
TextBox1.Text = (Match.ToString)
Next
Say I have this list (with unknown delimiters):
ABC-12345, DEF-34567; WER-12312
ERT-23423
I know the regex to mach what I need is: [A-ZÆØÅ]{3}-d{5}. But how do I use the Group or Capture of the .net Match class?
This is my first attempt:
Public Function ParseSites(ByVal txt As String) As List(Of String)
Const SiteIdRegEx = "([A-ZÆØÅ]{3}-d{5})"
Dim list As New List(Of String)
[Code].....
(<td [^>]+>
ss|[^, ]<a href=""http://www.test.com/member.php?action=profile[^>]+>(<span [^>]+><strong>|<span [^>]+>|))[^<]+(<span [^>]+>|</strong></span></a>|</a>|</span></a>)
How do i turn that into a capture group so it only gets the text that is bold and removes the rest?Also how do i loop through all the result from that captured group text?
I've a class with a timer inside
Private tt As New System.Timers.Timer()
This timer is enabled in the New() of the class
Try
[code].....
I was able to extract href value of anchors in an html string. Now, what I want to achieve is extract the href value and replace this value with a new GUID. I need to return both the replaced html string and list of extracted href value and it's corresponding GUID.
My existing code is like:
Dim sPattern As String = "<a[^>]*hrefs*=s*((""(?<URL>[^""]*)"")|('(?<URL>[^']*)')|(?<URL>[^s]* ))"
[code]......
I'm using this code
[Code]...
I need it to match both 12345 (5 char zip) and 12345-1234 (10 char zip) in 1 single group. Is that possible?
[Code]...
I have the following text that I am trying to parse:
"user1@emailaddy1.com" <user1@emailaddy1.com>, "Jane Doe" <jane.doe@ addyB.org>,
"joe@company.net" <joe@company.net>
I am using the following code to try and split up the string:
Dim groups As GroupCollection
Dim matches As MatchCollection
Dim regexp1 As New Regex("""(.*)"" <(.*)>")
matches = regexp1 .Matches(toNode.InnerText)
For Each match As Match In matches
groups = match.Groups
message.CompanyName = groups(1).Value
message.CompanyEmail = groups(2).Value
Next
But this regular expression is greedy and is grabbing the entire string up to the last quote after "joe@company.net". I'm having a hard time putting together an expression that will group this string into the two groups I'm looking for: Name (in the quotes) and E-Mail (in the angle brackets).
I get this error when trying to populate a DataGridView.The last sentence of the error text says to handle the DataError event but I'm not sure how to do that. A Try...Catch doesn't work.
View 17 RepliesI'm trying to find a way where i can make it loop through the results of my capture group regex query.
For instance if i have this:
VB.NET
Dim matches = Regex.Matches("<h1><span>test</span></h1>", "(?<=<h1>(<span>)?)(?<data>.+)(?=(</span>)?</h1>)")For Each item In matches.OfType(Of Match)()Console.WriteLine(item.Value)Next
And i'm trying to get the contents of <data>, how do i do it without it printing out the junk before it and after it?
quantifier isn't working, its supposed to make the <span> tag optional in the query, but it isn't.
I've used this in a couple of places and it simply doesn't work. Despit the try event, VB.Net still crashes or throws up an error.
View 14 RepliesI've been working with Regex and I've run into something that doesn't make sense to me; I either misunderstood how the Multiline option works, I'm not using it right, or it really just doesn't work like it's supposed to. This is a little test I made:
[Code]...
I have a windows form I want to show in two languages. When the user clicks a language button it switches to the other language.
It works fine, when you click it all the labels change to the other language.
Only problem is labels inside a group box do not change.
[Code]...
I'm here again asking stupid questions. I don't have really get this but i ask again but i try explain all better. Here is a website link and i want catch string from here. Look page's source code and find first what starts <td> someword </td> I use this code for catch word from page. Visual Basic Express 2008
[Code]...
I have a program in VB.Net that receives mails from Outlook, extracts attachments and inserts the attachments into a table through a query. I would like to put the query/queries in a Try/Catch block, but cannot do so as Outlook exceptions cannot be caught, and it gives me an error, and unless I put a very specific exception, I cannot catch it. Is there a workaround?
Edit:
Try
Catch ex As Exception
End Try
Exception is underlined and when I hover on it, it says: "Catch cannot catch type 'Microsoft.Office.Interop.Outlook.Exception' because it is not in 'System.Exception' or a class that inherits from 'System.Exception'". This is affecting all my other code which I'd like to put into a Try/Catch block.
The following code causes a "Warning" that Variable is used before value assigned.How do I restructure this Try/catch to eliminate error on the myreader.close command in the Catch part? Code appears to work fine but I dont like Warnings. [code]
View 8 Repliesi have problem when i click a ADD button, there is one null value in the textbox .. so the try catch statemnt is to catch that null value error but after that the catch is success but the button click never stop excute the statemnt till the end of the button event.
View 6 RepliesI have this scenario: in a Sub I have a Try...Catch statement.Within that Try..Catch I call another sub.In that 2nd sub is also a Try...Catch.(see below for example).Now if an exception occurs in the 2nd sub's Try...Catch, which Catch gets excecuted? The 2nd one, the 1st one or both?
Private Sub sub1()
Try
..do stuff[code].....
If I throw an exception from within a catch, does the finally (from the catch) still execute? i.e.
Try
..some code with an exception in it...
catch ex as Exception
throw new SpecialException("blah blah" & ex.Message, ex)
[code]....
I need to catch log4net exceptions (its own exceptions not app exceptions logged by it). I wish there's a way of doing it this way: [code] I have this code implemented and there's no errors in compilation but i force log4net to have an error (pointing to a non existing database in the config file) and nothing is threw.I've tried the listener aproach: [code] and it's writing the errors to log4net.txt, the forced ones i mean.This last aproach has a couple of drawbacks: it won't append every error to the file, if the error is the same it doesn't write it, i can't get the listener to write every error to that file, only one (I don't know how to fully configure the trace listener, it might be that). Thus it won't append the date and hour to every line wich is a necesity for me. Finally i can't give structure to it (xml). Even if the listener work i need to use the try/catch aproach, since i'm using ExceptionHandling from Enterprise library to log the errors in my app.
View 1 RepliesI'm trying to match up a specific group name and see if it exists for the currently logged in user using Active Directory roles. If the Group Name exists for the Current User, I want that group name to be displayed in a drop down list. Example: If current user is in BIG Group, display BIG in drop down list.Problem: All I am getting is SIDs and I'm not able to get anything to match up to the group name and nothing will show up in the drop down list.I also get the following Error:Error: Object variable or WIth block variable not set.How do I fix this?? here is the code I am using:
Private Sub GetMarketingCompanies()
' code to populate marketing company drop down list based on the current logged in users active directory group that
[code].....
I am using VB.NET 2005 to create a Windows forms application. I have a procedure named SendMail that creates an instance of Outlook.Application, to send an email from my application. I found the code on this forum, I think.The procedure works fine, but I can't use error handling with it.I call the procedure from a button click event. I put the procedure call in a try/catch block, and the application won't build, with the following error.
Error 68 'Catch' cannot catch type 'Microsoft.Office.Interop.Outlook.Exception' because it is not 'System.Exception' or a class that inherits from 'System.Exception'. C:datadevdmtiQTSQTSv7_1_20100212wQTSQTSReportsCriteria
pt_frmReportViewer.vb 43 21 QTS
Here is the code:
Sub SendMail(ByVal sFile As String)
' Create an Outlook application.
Dim oApp As Outlook._Application
[code]....
Enumerate if an Active Directory group's member is user or another group
View 1 RepliesI am writing an application and I do not know how to reference a group of controls inside a group box. I will include the code I have written so far and a picture with a detailed explanation as to what I am trying to do. Feel free to comment on any discrepancies that you may notice in my code.
Code:
Public Class Form1
' The following class-level constants are used
' to calculate the price of the model
Const decCOUPE As Decimal = 18000
[code].....
I want to remove a group (include all items in this group) in ListView, but unsuccessful, the code is below, why?
ListView1.Groups("GroupName").Items.Clear()
ListView1.Groups.Remove(ListView1.Groups("GroupName"))
anyone have some quick code on how to do this?
wmi is not a option.
I want to take the text and some special characters between the xml tags.. My input file contains:
[Code]...
now i want the Regex to take text and the special characters between the tags <line>,<inline>..
I'm creating a program in VB.NET to output multiple images. Some images will have the same file name. If there is multiple files with the same name I want to add "_1_" to the end of the file name. If the "_1_" file already exists I want to increment the 1 to be "_2_". If this file already exists I want to continue incrementing the number ultil it doesn't exist. So for example "filename", filename_1_", "filename_2_", etc. Here is the code that I have tried
[Code]...