473,607 Members | 2,674 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Regular expression question

I am trying the create a regular expression that will essentially match
characters in the middle of a fixed-length string. The string may be any
characters, but will always be the same length. In other words, as the
regular expression (....)($) matches the "4567" in the string "1234567", how
would I create a similar regular expression that only matches the "45" in
the same string. The same regular expression would match "32" in the string
"00032999".

Any help is greatly appreciated.
Nov 16 '05 #1
10 3012
Did you try (..)..$

Bruno.

"Lee Kuhn" <le******@grsin c.com> a écrit dans le message de
news:eX******** ******@TK2MSFTN GP09.phx.gbl...
I am trying the create a regular expression that will essentially match
characters in the middle of a fixed-length string. The string may be any
characters, but will always be the same length. In other words, as the
regular expression (....)($) matches the "4567" in the string "1234567", how would I create a similar regular expression that only matches the "45" in
the same string. The same regular expression would match "32" in the string "00032999".

Any help is greatly appreciated.

Nov 16 '05 #2
Lee Kuhn wrote:
I am trying the create a regular expression that will essentially match
characters in the middle of a fixed-length string. The string may be any
characters, but will always be the same length. In other words, as the
regular expression (....)($) matches the "4567" in the string "1234567", how
would I create a similar regular expression that only matches the "45" in
the same string. The same regular expression would match "32" in the string
"00032999".


Maybe I'm misunderstandin g something, but it seems String.Substrin g()
would be the thing to use for this.

Using a regex seems like overkill.

--
mikeb
Nov 16 '05 #3
I was wrong, you need curly braces instead of parentheses: {..}..$
But substring should do the job. Why use regexp?

Bruno

"Bruno Jouhier [MVP]" <bj******@clu b-internet.fr> a écrit dans le message de
news:eL******** ******@TK2MSFTN GP10.phx.gbl...
Did you try (..)..$

Bruno.

"Lee Kuhn" <le******@grsin c.com> a écrit dans le message de
news:eX******** ******@TK2MSFTN GP09.phx.gbl...
I am trying the create a regular expression that will essentially match
characters in the middle of a fixed-length string. The string may be any
characters, but will always be the same length. In other words, as the
regular expression (....)($) matches the "4567" in the string "1234567",

how
would I create a similar regular expression that only matches the "45" in the same string. The same regular expression would match "32" in the

string
"00032999".

Any help is greatly appreciated.


Nov 16 '05 #4
The parentheses seem to work better than the curly braces. However, when I
use (..)..$, I end up with two groups: one is "4567" and the other is "45".
The "match" is still "4567". I need the match to be "45". The reason I am
using a regular expression for this is because I am trying to operate within
the confines of existing code, only modifying the actual regular expression.

Lee

"Bruno Jouhier [MVP]" <bj******@clu b-internet.fr> wrote in message
news:%2******** *******@tk2msft ngp13.phx.gbl.. .
I was wrong, you need curly braces instead of parentheses: {..}..$
But substring should do the job. Why use regexp?

Bruno

"Bruno Jouhier [MVP]" <bj******@clu b-internet.fr> a écrit dans le message de news:eL******** ******@TK2MSFTN GP10.phx.gbl...
Did you try (..)..$

Bruno.

"Lee Kuhn" <le******@grsin c.com> a écrit dans le message de
news:eX******** ******@TK2MSFTN GP09.phx.gbl...
I am trying the create a regular expression that will essentially match characters in the middle of a fixed-length string. The string may be any characters, but will always be the same length. In other words, as the
regular expression (....)($) matches the "4567" in the string
"1234567",
how
would I create a similar regular expression that only matches the "45"

in the same string. The same regular expression would match "32" in the

string
"00032999".

Any help is greatly appreciated.



Nov 16 '05 #5
Hi!

"Lee Kuhn" wrote:
The parentheses seem to work better than the curly braces. However, when I
use (..)..$, I end up with two groups: one is "4567" and the other is "45". The "match" is still "4567". I need the match to be "45".

[...snip...]

(?<myGroup>.{2} ).{2} would match the "4567" in "1234567", you could find
"45" in Match.Groups["myGroup"].Value
Nov 16 '05 #6
I can definitely see how I could do what I want with groups (and named
groups). At this point, I am trying to determine if I can use a regular
expression to return a substring from the middle of a number (always the
same length) with Regex.Match.Val ue. The substring will always be from the
same position within the number.

Any thoughts?

"Michael Voss" <mi**********@l vrREMOVE.deCAPS > wrote in message
news:408cff02$1 @news...
Hi!

"Lee Kuhn" wrote:
The parentheses seem to work better than the curly braces. However, when I use (..)..$, I end up with two groups: one is "4567" and the other is

"45".
The "match" is still "4567". I need the match to be "45".

[...snip...]

(?<myGroup>.{2} ).{2} would match the "4567" in "1234567", you could find
"45" in Match.Groups["myGroup"].Value

Nov 16 '05 #7
Lee Kuhn wrote:
I can definitely see how I could do what I want with groups (and named
groups). At this point, I am trying to determine if I can use a regular
expression to return a substring from the middle of a number (always the
same length) with Regex.Match.Val ue. The substring will always be from the
same position within the number.1
Again, why not just use String.Substrin g()?

Any thoughts?

"Michael Voss" <mi**********@l vrREMOVE.deCAPS > wrote in message
news:408cff02$1 @news...
Hi!

"Lee Kuhn" wrote:
The parentheses seem to work better than the curly braces. However, when
I
use (..)..$, I end up with two groups: one is "4567" and the other is


"45".
The "match" is still "4567". I need the match to be "45".


[...snip...]

(?<myGroup>.{ 2}).{2} would match the "4567" in "1234567", you could find
"45" in Match.Groups["myGroup"].Value


--
mikeb
Nov 16 '05 #8
Because the code is already written and deployed. The regular expression is
exposed to me as an option.
"mikeb" <ma************ @nospam.mailnul l.com> wrote in message
news:OE******** ******@TK2MSFTN GP10.phx.gbl...
Lee Kuhn wrote:
I can definitely see how I could do what I want with groups (and named
groups). At this point, I am trying to determine if I can use a regular
expression to return a substring from the middle of a number (always the
same length) with Regex.Match.Val ue. The substring will always be from the same position within the number.1


Again, why not just use String.Substrin g()?

Any thoughts?

"Michael Voss" <mi**********@l vrREMOVE.deCAPS > wrote in message
news:408cff02$1 @news...
Hi!

"Lee Kuhn" wrote:

The parentheses seem to work better than the curly braces. However,
when
I
use (..)..$, I end up with two groups: one is "4567" and the other is

"45".

The "match" is still "4567". I need the match to be "45".

[...snip...]

(?<myGroup>.{ 2}).{2} would match the "4567" in "1234567", you could find
"45" in Match.Groups["myGroup"].Value


--
mikeb

Nov 16 '05 #9
Lee Kuhn wrote:
Because the code is already written and deployed. The regular expression is
exposed to me as an option.

I see. Then I think a regular expression such as:

(?:(?<=^.{2}))( .{4})

would do what you want - for the particular case where you want the
substring to start at index 2 and have a length of 4.

Here's a small method that'll build the appropriate regex expression
when passed in the index and length you want:

public static string SubstringRegex( int start, int len) {
return( String.Format(" (?:(?<=^.{{{0}} }))(.{{{1}}})",
start, len));
}

Basically, the first part of the regex is a zero-lenth positive
lookbehind assertion wrapped in a non-capturing group. This matches the
characters at the beginning of the string that you want discarded.

The next bit of the regex is a group that captures the number of
characters you want in your substring.

"mikeb" <ma************ @nospam.mailnul l.com> wrote in message
news:OE******** ******@TK2MSFTN GP10.phx.gbl...
Lee Kuhn wrote:
I can definitely see how I could do what I want with groups (and named
groups). At this point, I am trying to determine if I can use a regular
expression to return a substring from the middle of a number (always the
same length) with Regex.Match.Val ue. The substring will always be from
the
same position within the number.1


Again, why not just use String.Substrin g()?

Any thoughts?

"Michael Voss" <mi**********@l vrREMOVE.deCAPS > wrote in message
news:408cff0 2$1@news...
Hi!

"Lee Kuhn" wrote:
>The parentheses seem to work better than the curly braces. However,
when
I
>use (..)..$, I end up with two groups: one is "4567" and the other is

"45".
>The "match" is still "4567". I need the match to be "45".

[...snip...]

(?<myGroup> .{2}).{2} would match the "4567" in "1234567", you could find
"45" in Match.Groups["myGroup"].Value



--
mikeb


--
mikeb
Nov 16 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
9728
by: Vibha Tripathi | last post by:
Hi Folks, I put a Regular Expression question on this list a couple days ago. I would like to rephrase my question as below: In the Python re.sub(regex, replacement, subject) method/function, I need the second argument 'replacement' to be another regular expression ( not a string) . So when I find a 'certain kind of string' in
5
2513
by: Bradley Plett | last post by:
I'm hopeless at regular expressions (I just don't use them often enough to gain/maintain knowledge), but I need one now and am looking for help. I need to parse through a document to find a URL, and then reconstruct another URL based on it. For example, I need to scan a web page looking for something like <a href="some_dir/list_20050815100225.csv">. I don't know in advance what the date/time in the file name will be. I need to take the...
18
3023
by: Q. John Chen | last post by:
I have Vidation Controls First One: Simple exluce certain special characters: say no a or b or c in the string: * Second One: I required date be entered in "MM/DD/YYYY" format: //+4 How ??
5
3097
by: Ryan | last post by:
HELLO I am using the following MICROSOFT SUGGESTED (somewhere on msdn) regular expression to validate email addresses however I understand that the RFP allows for "+" symbols in the email address and this method does not.... Does anyone have an explanation? Function IsValidEmail(ByVal strIn As String) As Boolean
7
371
by: norton | last post by:
Hello, Does any one know how to extact the following text into 4 different groups(namely Date, Artist, Album and Quality)? - Artist - Album Artist - Album - Artist - Album - Artist - Album- i have try this syntax but it failed
7
3812
by: Billa | last post by:
Hi, I am replaceing a big string using different regular expressions (see some example at the end of the message). The problem is whenever I apply a "replace" it makes a new copy of string and I want to avoid that. My question here is if there is a way to pass either a memory stream or array of "find", "replace" expressions or any other way to avoid multiple copies of a string. Any help will be highly appreciated
6
2287
by: Ludwig | last post by:
Hi, i'm using the regular expression \b\w to find the beginning of a word, in my C# application. If the word is 'public', for example, it works. However, if the word is '<public', it does not work: it seems that < is not a valid character, so the beginning of the word starts at theletter 'p' instead of '<'. Because I'm not an expert in regular expressions, maybe someone of you guys can help me? I need the correct regex to find the...
3
2558
by: Zach | last post by:
Hello, Please forgive if this is not the most appropriate newsgroup for this question. Unfortunately I didn't find a newsgroup specific to regular expressions. I have the following regular expression. ^(.+?) uses (?!a spoon)\.$
25
5143
by: Mike | last post by:
I have a regular expression (^(.+)(?=\s*).*\1 ) that results in matches. I would like to get what the actual regular expression is. In other words, when I apply ^(.+)(?=\s*).*\1 to " HEART (CONDUCTION DEFECT) 37.33/2 HEART (CONDUCTION DEFECT) WITH CATHETER 37.34/2 " the expression is "HEART (CONDUCTION DEFECT)". How do I gain access to the expression (not the matches) at runtime? Thanks, Mike
0
7985
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8463
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8322
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
5997
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5471
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
3953
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4013
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2461
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1574
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.