gpt4 book ai didi

c - 使用正则表达式解析 CREATE TABLE sql

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:30 25 4
gpt4 key购买 nike

我正在用正则表达式做一个简单的语言 sql,我正在解析句子 CREATE TABLE,但不起作用。我用这个:

reti = regcomp(&regex,  "CREATE TABLE [a-zA-Z]\\((.*)\\)", REG_EXTENDED);

这很简单,我只是为了学习...正则表达式有什么问题?

最佳答案

除了只处理 一个 个字母的 SQL 表之外,您要么省略左括号前的空格,要么根据 SQL 和正则表达式引擎/字符串语法,过度转义表达式括号。

检查:

[A-Za-z]+\\s*

如果它不起作用并且无法识别加号,

[A-Za-z][A-Za-z]*\\s*

以及它是 \\\\( 还是只是 \\((它应该是后者。但最好确定)。

这支持 AntinoocUsToMeRs 等名称,但不支持 Invoices_NewSuppliers2014。您可能想在正则表达式中添加数字和下划线。由于表名可能不会以数字开头,因此您需要

[A-Z_a-z][A-Z_a-z0-9]*\\s*\\(([^;]*)\\)

关于c - 使用正则表达式解析 CREATE TABLE sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27534392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com