gpt4 book ai didi

regex - java 正则表达式 : getting a substring from a string which can vary

转载 作者:行者123 更新时间:2023-11-29 09:21:38 29 4
gpt4 key购买 nike

我有一个字符串,例如 - "Bangalore,India=Karnataka"。从这个字符串中,我只想提取子字符串 "Bangalore"。在这种情况下,正则表达式可以是 - (.+),.*=.*。但问题是,字符串有时只能像 "Bangalore" 那样出现。那么在那种情况下,上面的正则表达式将不起作用。无论字符串是什么,获取子字符串 "Bangalore" 的正则表达式是什么?

最佳答案

试试这个:

^(.+?)(?:,.*?)?=.*$

解释:

^               # Begining of the string
( # begining of capture group 1
.+? # one or more any char non-greedy
) # end of group 1
(?: # beginig of NON capture group
, # a comma
.*? # 0 or more any char non-greedy
)? # end of non capture group, optional
= # equal sign
.* # 0 or more any char
$ # end of string

已更新:我认为 OP 必须匹配 Bangalore,India=KarnatakaBangalore=Karnataka 但据我所知是 Bangalore,India=KarnatakaBangalore 所以正则表达式要简单得多:

^([^,]+)

这将在字符串的开头匹配一个或多个非逗号字符并将它们捕获到组 1 中。

关于regex - java 正则表达式 : getting a substring from a string which can vary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6034230/

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