C# - Parse Using Regex Class Of System.Text.RegularExpressions
Mar 4, 2011
I have a string which i need to parse using Regex class of System.Text.RegularExpressions. I need to find if the first 2 characters of the string are either "00" or "07" or "16" or "23".
I've been hammering at this over the weekend with no joy - been through page after page of RegEx Language documentation too.It's very easy to negate a match on characters. For example:
Dim MatchString As System.String = "<test0><test0><test1></test1></test0></test0><test0></test0>" Dim NegationPattern As System.String = "([^<>])" Dim RepStr As System.String = ""
after searching for around a half hour or so, I found that the regularexpression API could do what I need.Basically, I needed to only allow letters, numbers, and symbols in my textbox. The problem was, I could stick alt codes in there, even with a keycode case check
I'm attempting to parse a text file containing several Windows paths; I'd like to use regular expressions if possible, and I'm using VB.NET.The file is formatted somewhat like so:
M - Network Mode C:ClientSystem - System Path C:ClientProducts - Product Path
What I'm trying to do is parse out some links via a google search and fill a text box with said results. This is the code I have in a module which I call upon inside of a command button.
How in VB.Net can I extract the value from a string using the RegularExpressions class? For example, say I have the string:[Mon Jan 4 2011] Blah Blah2 Other text and I want to return the "Mon Jan 4 2011" portion in to a variable. I thought you would use the "Regex.Replace" method but I can't seem to figure out how to extract the portion of the string I want.
I was wondering if it was possible to colorize syntax of, say HTML, inside of a RichTextBox by comparing each word in the current line of text against the collection of words in System.Web.RegularExpressions.AspCodeRegex? I'd imagine that from this question it would be possible?
I am trying to remove the tables within an HTML file, specifically, for the following document, I'd like to remove anything within the tags <TABLE....> and </TABLE>. The document contains multiple tables with texts in between.
The expression that I came up with, <TABLE.*>s*[s|S]*</TABLE>s*, however would remove the text in between the tables. In fact it would remove everything between the first <TABLE> and the last </TABLE> tags. I would like to keep the texts in between and only remove the tables.
Some things with the file are standard, like the "TableName" (Never in quotes) starts the table. Variables always have [" "] around them and then equal something like ["Test"] = 0. However, the variable could have multiple variables within it. split up the file within each {} and then try to parse each ["QuotedString-Key"] = 0?
I'm writing a little web service which generates SO/SF/SU/MSO user flair in the form of an image with various "themes". I find this preferable to using the HTML/JS solutions offered by SO as it's more flexible and also works better in forum signatures.
I'm retrieving the data using the apparently unofficial API (More info here). I can have the data in HTML or JSON. I assumed the JSON would be easier to parse.
Unfortunately, I'm not great at regexes. and the best I can come up with is some very hacky sub-stringing. I believe a regex should be the most elegant solution
regex that matches ID, GravatarURL, ProfileURL, DisplayName, Reputation and Badge Counts (Bronze/Silver/Gold).
FWIW This is to be used in a VB.Net project (in case that affects the syntax at all)
[Code].....
In case any of you are interested, some screenshots of the flair as a work in progress are available here: Me, Jeff Atwood, Joel Spolsky
I've used regular expressions in the past. I have an app that parses a .csv file and replaces certain characters (commas). Here's an example.. item1, item2, item3, fruits are apples, oranges, grapes. Squash is a vegetable, not a fruit. What my app does is search each line between character1 and character18 and replace all "," with "~". How this is done through regular expressions?
Problem: Current regex pattern does not filter all lines. Adding ^ to the beginning and $ to the ending of the pattern seems to break it as well. If I try it ont gives partial results using options(multiline & case insensitive). Using it in the application returns nothing at all.
Part of my project is to retrieve a string variable from an external source (google docs) and parse it. This string represents width and height. I have no problem retrieving, I just need to parse it in to two strings. The string has 4 variations.
Here are examples: 3"x4" 3"hx4"w 3hx4w 3x4
The width is always the first number and the height is always the second. Sometimes, the width and height have decimal points. Any way to parse this into two strings of the numeric values only?
I have written code to pull some data into a data table and do some data re-formatting. I need some help splitting some text into appropriate columns.
CASE 1
I have data formated like this that I need to split into 2 columns.
[Code]...
column is the first 11 characters That is easy.column 2 should contain all the text after the first 11 characters up to but not including the first number.The last column is all the text after column 2
I am trying to parse the parameters of Excel formulas like "=a(b)", "=a(b,c)", "=a(b,c,d)". I'd like extract the function name "a" and the parameters "b", "c" and "d".
There are loads of examples on SO to parse HTML and so forth, but none specifically for parentheses.
So far, I've got this "=(.+)(([^,)]*)(,[^,)]*)*)" but when I parse "=a(b,c,d)" it puts "a" in match(1), "b" in match(2) and ",d" in match(3). So "c" is lost and the comma before the "d" is a pain.
How can I parse a string like this with an arbitrary number of parameters, ideally dropping the commas?
The ability to parse "=a(b(c),d(e(f)))" would be great...
Edit: I know that a parser is the correct solution and I have used Devin Cook's excellent Gold Parser with great results before.
However, the particular case I'm facing is to extract the arguments from a known Excel formula. Specifically, if the formula contains the string "=Travel(", I know that it will have 4 arguments and if they don't parse it's not a problem. This is simply a "nice to have" function which can fail occasionally without it being an issue.
regex for "=a(b,c,d)", "=a(b,c,d,e)", etc., with the constraint that there will be no nested parentheses or commas?
I get this: Base class 'System.Windows.Forms.Panel' specified for class 'MenuButton' cannot be different from the base class 'System.Windows.Forms.UserControl' of one of its other partial types.
<!-- Generated by F12 developer tools. This might not be an accurate representation of the original source file --> <html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"><head> <meta content="text/html; charset=utf-8" http-equiv="content-type">
I'm making a custom class that mocks the System.Drawing.Rectangle class because the Rectangle class doesn't have a name property. I need a name property because I am adding all of my rectangles to a collection and I need a little more info stored than just their locale and size. So I changed the _onPaint event but nothing is working out when I run the program?
Public Class Rectanglar : Inherits UserControl Public BackgroundColor As Color = Color.Blue Public Sub New(ByVal name As String, ByVal XY As Point, ByVal Widthy As Integer, ByVal Heighty As Integer)
I have had several occasions recently to access a specific class several times over a relatively small time frame.So I've been storing the value of the class in Session and trying to access it on page load, if it's not available creating a new instance and storing that in session.
So instead of constantly replicating the same code for different classes on different pages I'm trying to create an extension method to do this for me.
[Code]...
I'm stuck on what to do when I make my new instance of my class (it would have to have a New() sub)
I'm not sure where to go from here... or even if this is the best way to do it.
This code hangs in infinite loop. Any ideas why is that? Is that a bug in .NET? Can I do something about it?
Dim urlRegex As New Regex("((?:[a-z][w-]+:(?:/{1,3}|[a-z0-9%])|wwwd{0,3}[.]|ftp[.]|[a-z0-9.-]+[.][a-z]{2,4}/)(?:[^s()<>]+|(([^s()<>]+|(([^s()<>]+)))*))+(?:(([^s()<>]+|(([^s()<>]+)))*)|[^s`!()
I occasionally have to search a very large text file as a troubleshooting step. The file is continuous text (with spaces between much of the text) but almost everything is date/time stamped. The text is actually messages between two machines so I'd like to insert a line break after every message so that I can follow the protocol exchange. Thre are also a few key words that I'd like to again, separate with a line break.
I occasionally have to search a very large text file as a troubleshooting step. The file is continuous text (with spaces between much of the text) but almost everything is date/time stamped. The text is actually messages between two machines so I'd like to insert a line break after every message so that I can follow the protocol exchange. Thre are also a few key words that I'd like to again, separate with a line break
We are using the following code to try to parse some text data from the URL below: Dim strURL As String = "[URL]" ' *** Establish the request Dim loHttp As HttpWebRequest = DirectCast(WebRequest.Create(strURL), HttpWebRequest) ' *** Set properties loHttp.Timeout = 10000 ' 10 secs loHttp.UserAgent = "Code Sample Web Client" [Code] .....
The problem is that the response we are getting in code is incomplete when compared with what actually renders in the browser. The html we are getting shows a javascript function in the body of html where what we really want is the result of the function, which includes the data we need to capture. This is confirmed by loading the page in Google Chrome, clicking on the text "100360" and choosing "inspect element" which allows us to see the full page response with the data we need, specifically the following line: <pre class="pre-longText-wrap">100360</pre>
How to get this "raw" page response? It may be that the script is taking a few seconds to respond and that we are only seeing the initial page response.
I am trying to pull out a row of comma seperated fields from a text file. I have a combo box which pulls a product number, and what I want it to do it after you select the item in the combo box it will search through the text file and pull everything in that row?