gpt4 book ai didi

java - 使用正则表达式,如何获取下面的代码名称和长度值?

转载 作者:行者123 更新时间:2023-12-02 05:47:22 25 4
gpt4 key购买 nike

我有以下代码:

    @Column(name = "SWIFT_NUMBER")
@Column(name = "SHIP_ADDRESS", length=500)
@Column(name = "CONTENT",length=10240)
//@Column(name = "USED_SPACE", columnDefinition = "bigint(20)")
@Column(name = "TPL", columnDefinition = "TEXT")

我想使用java正则表达式来获取每行namelength

  • 如果当前行没有length属性,则只获取name
  • 如果当前行带有 // java 注释,则无法获取名称和长度值

我尝试编写正则表达式:

.*@Column.*name.*\"(.*?)\"((?:.*)|(.*length.*(\\d+).*))

但只能获取名称值,无法获取长度值。

最佳答案

我完全同意 ruediste 的观点,即使用正则表达式解析 Java 代码并不是最好的主意,您应该真正避免这样做(请参阅上面的链接)。

但是,如果您真的非常需要,也许可以尝试这个正则表达式:

(?<!\/\/)@Column.*?name\s*=\s*"(.*?)"(?:.*?length\s*=\s*(\d+))?

(第一组:名称,第二组:长度,可选)

关于java - 使用正则表达式,如何获取下面的代码名称和长度值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23931572/

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