gpt4 book ai didi

java - 正则表达式表示符号或什么都没有

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

我有一个字符串,我需要解析其中的值,使其有时存在于 [''] 之间,有时不存在。

例如:

Input
1. blah .... REASON: ['elm H1MM_rr'], blah ....
2. blah .... REASON: elm H1MM_rr, blah ....
3. blah .... REASON: elm H1MM_rr.
4. blah .... REASON: ['elm H1MM_rr'].

elm H1MM_rr 只是这里的一个示例。它可以是 REASON 之后的任何字符串:

我尝试了原因:([^,. ]+)")但这仍然不适用于['']

Output I am looking for = elm H1MM_rr

有人可以建议我一种适用于这两个字符串的正则表达式(java 模式)吗?

最佳答案

(\[')?elm('])? 应该可以解决问题。这将匹配 elm['elmelm']['elm']

您可能还想使用(?:\[')?elm(?:'])?。 (查看我在下面链接的文档。)

? will match something 0 or 1 times

您必须转义第一个 [,否则它将把 [] 之间的所有内容视为字符集。

根据您的编辑

现在您已经澄清了某些事情并修改了您的问题,以下代码应该可以工作(至少在 JavaScript 中):
原因:(\[')?[\w/]{0, }(\s)?[\w/]{0,}('\])?
原因:(?:\[')?[\w/]{0, }(\s)?[\w/]{0,}(?:'\])?

来自以下输入:

废话....原因:['elm H1MM_rr'],废话....
废话....原因:/lm H1MM_rr,废话....
废话....原因:榆树 H1MM_rr。
废话......原因:['elm H1MM_rr']。
废话....原因:['']。

它将匹配:

原因:['elm H1MM_rr']
原因:/lm H1MM_rr
原因:榆树 H1MM_rr
原因:['elm H1MM_rr']
原因:[' ']

您可能会找到this documentation有用。您还可以找到this SO thread如果您想修改查询以使其更加简洁,这很有用。

关于java - 正则表达式表示符号或什么都没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50961150/

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