regex - c中字符串的正则表达式

标签 regex string

我正在编写一个用于在 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/

相关文章:

regex - 正则表达式和汇编

java - 什么是替换 "(11245)"的正则表达式

java - 文本未保存到字符串变量

java - 这个算法什么时候会重演?

java - 如何将字符串拆分为 shell 之类的参数?

r - 为什么我不能使用 tidyr extract 和 regex 拆分此列?

regex - Flex(适合正则表达式)- 匹配以相同字符开头和结尾的字符串

java - 在 XSD 的限制中指定多个模式

c - 如何在c中用字符串拆分字符串

c中字符串与字符数组的比较