开发者

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?

Regard开发者_StackOverflows, darkie15


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

  • regular-expressions.info/Character class, alternation, grouping


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]*\"$"
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜