Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
I'm kinda rusty with regular expressions. I need a REGEX that will validate values formatted like the following:
123.00
123,00
1324,00
1234.00
123
1213.0
I tried ^\d.\d{2}$, but it does not seem to match all values.
Appreciate any assistance.
You can use the following:
\d+[.,]?\d+
Good luck!
\d+[,.]?\d*
I would strongly advise against mixing cultures especially for persistence or transport.
The Regex you're likely looking for is something like #"\d+([,.]\d+)?"
It specifies "Some number of digits, optionally followed by a . or , and at least one digit". It would not match 123..
If you want to match culture-specific strings, however, I'd recommend using NumberFormatInfo.CurrencyDecimalSeparator and then look for that specifically.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
I am new to regular expression. I need a regular expression to validate single digit within range of [1-5] followed by alphabet [A-C] and followed by optional alphabet [X-Z]
1A (Valid)
2BZ (Valid)
7B (Invalid)
What you tried is right, except you're missing the start and end characters, so it's succeeding on a partial match.
You need:
^[1-5][a-cA-C][x-zX-Z]?$
Use online testers to validate it:
[1-5]+[A-C]+[X-Z]*
regexpal
gskinner
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
I found this regex in working C# code. Can someone explain it to me please :
#"(?s)\{\{\s*" + templateTitle + #"(.*?)}}\r?\n?"
I tested it and it returns text like
{{ templateTitleValue anything}}
What I don't understand is the two '}}' that are not escaped by \ like the two '}}'. And what is '(?s)' in the beginning.
Thanks
Actually, you don't need to escape the opening braces either. It's clear from context that they are not quantifiers (as in X{1,3} which would match X, XX or XXX). But it's good practice to escape them anyway (and to also escape the closing ones), just in case the regex changes into something where there could be some ambiguity.
(?s) means "allow the dot (.) to match all characters, including newlines". This is also known as the Singleline or DOTALL option.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
I have this Pattern it's worked successful:
#"^-?(0\.\d*[0-9]|[0-9]\d*(\.\d+)?)$
but I want this pattern not allow zero like this inputs:
not allowed inputs:
0.0 //not allowed
00.00 //not allowed
allowed inputs:
0.07 // allowed
0.70 // allowed
and any number decimal
I would use a negative lookahead assertion to make the regex fail if it is only "0".
#"^-?(?!0*(\.0*)?$)(0\.\d*[0-9]|[0-9]\d*(\.\d+)?)$
See it here on Regexr
This expression (?!0*(\.0*)?$) makes the whole regex fail, if the number consists only of zeros.
Regular expressions are for matching patterns, not checking numeric values. Find a likely string with the regex, then check its numeric value in whatever your host language is (PHP, whatever).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
I'm trying to match a string in .NET Regex, I want the expression to match "identity." with anything added to the end (can still limit the scope of * later on), testing the pattern in any regexeditor works just fine (I have one less backslash there, due to escaping).
I have set a breakpointright on my Regex.IsMatchto check the values, there are exactly what I put in the title (note that this is from the VS2010 debugger, escape sequences are unparsed)
Try using a string literal (prefix the string with #) when specifying your regex. This will remove the need for you to escape the \:
Regex.IsMatch("identity.requesttoken", #"identity\..*")
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
Hi I need to match this format
N - Number
NN,NN
or
NN.NN
also
N,N and N.N
and combinations
N.NN and N,NN or NN,N and NN.N
Here's your regex:
\d{1,2}[.,]\d{1,2}
See it here in action: http://regexr.com?2vman
Here's a slightly different version:
\d\d?[.,]\d\d?
See it here in action: http://regexr.com?2vmaq
If you want to also match with out a decimal, use this:
\d\d?[.,]?\d{0,2}
See it here in action: http://regexr.com?2vml4
How about:
\d{1,2}(?:[.,]\d{1,2})?
explanation:
\d{1,2} : one or two digits
(?: : start non capture group
[.,] : . or ,
\d{1,2} : one or two digits
)? : end group, optional
Why match it?
Just remove the commas and use the actual number:
Regex.Replace("8,675,309.02", "(,)", string.Empty) // Outputs 8675309.02
If this is a validation scenario, using int.Parse will let you know if its valid.
I would go with something like this:
Regex regex = new Regex(#"\d{1,2}[\.,]\d{1,2}");