Regular Expression for mandatory and number only [closed] - c#

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions must demonstrate a minimal understanding of the problem being solved. Tell us what you've tried to do, why it didn't work, and how it should work. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
I am trying to make regular expression that allow only numbers and must be mandatory. no blank field or white space allow using asp regular expression validater with C#. i tried this
ValidationExpression="^[/d]*+$". this is working for number only. blank field accepted by this expression.
Thanks

Be careful that \d can match digits other than 0 to 9, such as Eastern Arabic numerals. I would suggest using:
"^[0-9]+$"

The RegexValidator isn't called when the field is empty, you must use the RequiredFieldValidator in combination : http://msdn.microsoft.com/en-us/library/eahwtc9e%28v=vs.100%29.aspx
Besides, the correct regex would be
^\d+$
\d is for any number
+ is for 1 to n occurences

Take out the "*". The "+" is being applied to the results of the previous expression which is "0 or more digits" and is always found.
ValidationExpression="^[/d]+$"

Related

Finding strings with alpha and numeric pattern [closed]

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
Any idea what is the best way to check if a string contains a value with following pattern and extract that value:
ana-aa-aaaa
Above a is Alpha and n is numeric.
You can use it with a simple regular expression:
Regex.Match(value, #"\p{L}\d\p{L}-\p{L}{2}-\p{L}{4}")
This produces a Match object (which may or may not be a success). Getting the value of a successful match will produce the desired substring.
Above, \p{L} matches a letter, \d matches a decimal digit, and - matches a dash. When followed by {<number>}, an expression requires a specific number of matches.

Replace substring which comes in middle of string only [closed]

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 want regx pattern in C# which find substring in any string which comes in middle only. Let say ,
Input : "toprohitpop rohittoppop toppoprohit"
find substring : "rohit"
Replace with : "$$$$"
Output : "top$$$$pop rohittoppop toppoprohit"
if substring "rohit" comes in left or right of the string then it should not be replaced.Substring "rohit" will only be replaced when it comes in middle of string .
Thanks in advance.
Use non-word-break anchors:
\Brohit\B
The \B will only match if it is in the middle of a word.
Read about it.
var input = "toprohitpop rohittoppop toppoprohit";
var regex = new Regex(#"\Brohit\B");
var output = regex.Replace(input, "$$$$$$$$");
See "Anchors" in Regular Expression Language.
Also, be careful with the '$' in the substitution string (see comments)
Use the following regex: .+rohit.+
Basically it enforeces at least one char before rohit and one after

RegEx to Match Phrases and create Capture Groups [closed]

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 trying to create a RegEx and C# pattern that will match a phrase like:
Photos of Washington DC taken by Jane Doe
Where the capture groups result in "Photos" "Washington DC" and "Jane Doe". Other possibilities would be:
Videos of Austin taken by Ruby : Videos, Austin, Ruby
Photos of Red Bud Dogs taken by Willa Shepherd :Photos, Red Bud Dogs, Willa Shepherd
Is this even possible with RegEx?
It appears that I got flagged...did I mention that I don't know RegEx?
I tried: (Photo of).*?((?:[a-z][a-z]+))(Taken by)((?:[a-z][a-z]+)) but that failed.
.* matches any string (except newlines). By adding a ? to it (.*?), you can tell the regex engine to match as few characters as possible, which is probably the right approach here, so the very first instances of of and taken by will be used as separators of your intended sub-matches:
matchResults = Regex.Match(subjectString, "^(.*?) of (.*?) taken by (.*)");
// matchResults.Groups[1].Value contains "Photos" etc.
If you don't expect more than one of and taken by in your input, you can change all .*? into .*.

How to write this regex to export links [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions must demonstrate a minimal understanding of the problem being solved. Tell us what you've tried to do, why it didn't work, and how it should work. See also: Stack Overflow question checklist
Closed 9 years ago.
Improve this question
Here the example.
Starts with : imgurl=
Ends with : &amp
Example extraction
asfasfasfasimgurl=http://www.mysite.com&ampasgasgas
Result: http://www.mysite.com
So how can I write regex to extract all instances like this?
You can use lookbehind and lookahead
(?<=imgurl=).*?(?=&amp)
Lookahead and lookbehind
Greedy Quantifiers
You can get a list of urls using
List<String> urls=Regex.Matches(input,regex)
.Cast<Match>()
.Select(x=>x.Value)
.ToList();
A simple regex could be:
(?:imgurl=)(.*)(?:&amp)
the (?:[stuff here]) is a non-capture group. It requires the pattern to match, but not capture/extract. The (.*) captures everything in-between the two non-capture groups.
Also to learn more about capture groups you can read here
What is a non-capturing group? What does a question mark followed by a colon (?:) mean?

Replace all occurrences of string only if they don't start by '#' [closed]

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 would like to replace all the occurrences of a string, as long as those don't start by '#', so for example in the following query:
(surname = #surname and surname = #surname1)
if I want to replace surname, it will only replace the two of them on the left side of the equal sign. Thus, leaving #surname and #surname1 unreplaced.
You can use Regex.Replace for this:
Regex.Replace(yourString, "([^#])surname", "$1Diaz");
The [^#] basically tells Regex that any character except the # symbol can come in front of the "surname" text that you are looking for. The $1 is necessary because otherwise, whatever character that is will also get stripped out.
Note that this Regex, without some additional modification, will not match "surname" if it is at the beginning of the string. In the example you provided, it starts with an open-parenthesis, so as long as that condition holds, the solution above will work.

Categories