name_masked
name_masked

Reputation: 9794

regular expression for string in c

I am working writing a regular expression used to validate string in C. Here is to what I have gone so far

'^"[A-Za-z0-9]*[\t\n]*"$'

for rules - A string should begin with double quotes - May not contain a newline character

However, I am not able to capture the rule for allowing '\' or '"' in a string if preceded with '\'. Here is what I tried:

'^"[A-Za-z0-9]*[\t\n]*[\\\|\\"]?"$'

But this doesn't seem to work. What might be wrong with the regular expression here?

Regards, darkie15

Upvotes: 3

Views: 173

Answers (2)

Delan Azabani
Delan Azabani

Reputation: 81384

If you want this regular expression:

^"[A-Za-z0-9]*[\t\n]*"$

To notate in C you must have double quotes around the string. Then you must escape the escapes and the double quotes inside the expression.

Here's what you might have:

"^\"[A-Za-z0-9]*[\\t\\n]*\"$"

Upvotes: 0

polygenelubricants
polygenelubricants

Reputation: 383746

You're misusing character classes and alternations in group; [\\\|\\"] isn't what you think it is.

Try something like this:

^"([A-Za-z0-9\t]|\\\\|\\")*"$

References

Upvotes: 2

Related Questions