首页 > 解决方案 > 从引号之间提取文本并添加第二个单词

问题描述

我需要提取Gate中排除引号的文本,还需要包含 null 作为另一个匹配的单词。

# "gate":"A11","terminal":"5"
# "gate":508B,"terminal":"2"
# "gate":"D8","terminal":"1"
# "gate":null,"terminal":null

# desired output:
# A11, 508B, D8, null

我试过这样的事情:"gate":(.*?),"terminal":.*,但这将包括引号。另外,我尝试通过尝试排除引号"gate":"([^"]*)","terminal":.*,但我不知道匹配“null”。

有人可以帮忙吗?

标签: regex

解决方案


这应该给你你想要的,至少对于你提到的例子:

"gate":"?([^"]+|null)"?,"terminal":"?([^"]+|null)"?

注意:如果字符串可以包含转义引号,则基于正则表达式的解决方案不太可能。


推荐阅读