我正在编写一个用于在 C 中验证字符串的正则表达式。这是我到目前为止所做的事情
'^"[A-Za-z0-9]*[\t\n]*"$'
规则 - 字符串应以双引号开头 - 不能包含换行符
但是,我无法捕获允许在字符串中使用 '\' 或 '"' 的规则,如果前面有 '\'。这是我尝试过的:
'^"[A-Za-z0-9]*[\t\n]*[\\\|\\"]?"$'
但这似乎行不通。这里的正则表达式可能有什么问题?
问候, 暗黑15
最佳答案
您在组中滥用字符类和交替; [\\\|\\"]
不是你想的那样。
尝试这样的事情:
^"([A-Za-z0-9\t]|\\\\|\\")*"$
引用资料
关于regex - c中字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2937595/