gpt4 book ai didi

java - 如何在java中的正则表达式中添加可选空格

转载 作者:行者123 更新时间:2023-12-02 04:54:45 26 4
gpt4 key购买 nike

抱歉,如果这是重复的。我正在使用 java 中的正则表达式来匹配 sql 字符串。在我的查询中,我可能有也可能没有 where 子句。

我正在使用以下正则表达式

\bselect\b\s(.*)\s\bfrom\b\s(.+)\s(?:where)?\s(?:(.*))

运行良好

select a,b from tab1 where a=b

并且不匹配

select a,b from tab1

如果我添加了两个额外的空格,它会匹配。很明显,这是由于我使用了两个 \s 造成的。但是,我也想让这些成为可选的。

请帮助我。我无法理解 stackoverflow 中关于此主题的其他帖子

最佳答案

将空格放在非捕获组内:

\bselect\b\s(.*)\s\bfrom\b\s(\w+)(?:\swhere\s(.*))?

关于java - 如何在java中的正则表达式中添加可选空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28899311/

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