Regex 如何使用正则表达式拆分多分隔字符串以创建配置单元表?

Regex 如何使用正则表达式拆分多分隔字符串以创建配置单元表?,regex,split,Regex,Split,我正在尝试使用多分隔符创建配置单元表(我无法在配置单元中使用多分隔符serde,因为我们需要更新jar文件),例如,我想使用两个字符分隔符拆分以下字符串。$: 预期的结果是: 1234 | CSI | MAN # NO | MANN |1212 | N 当我尝试#$时,结果是 1234 | CSI | MAN | NO | MANN |1212 | N 如何使用两个字符分隔符拆分字符串?尝试以下操作:(.*?)\$(.*?)\$(.*?)\$(.*?)\$(.*?)\$(.*?)\$(.*?

我正在尝试使用多分隔符创建配置单元表(我无法在配置单元中使用多分隔符serde,因为我们需要更新jar文件),例如,我想使用两个字符分隔符拆分以下字符串
。$

预期的结果是:

1234 | CSI | MAN # NO | MANN |1212 | N
当我尝试
#$
时,结果是

1234 | CSI | MAN | NO | MANN |1212 | N
如何使用两个字符分隔符拆分字符串?

尝试以下操作:
(.*?)\$(.*?)\$(.*?)\$(.*?)\$(.*?)\$(.*?)\$(.*?)\$(.*)

见:


但正如@Barmar所说,通过
\$
进行拆分要容易得多。

我认为这会满足您的要求:
(.+?)(?:\$)


不需要使用正则表达式。只需使用文本字符串
#$
作为分隔符来拆分它。您是否阅读了关于
[]
在正则表达式中的含义的文档?每天我都会看到一个新的regexp用户,他认为这是用于分组的。我不明白为什么会发生这么多
[#$]
#
$
匹配,但不作为序列匹配。这就是
(#$)
的用途。您使用的是什么语言?只需转义
$
\$
,请参阅谢谢您的回答。我也尝试过(#$)但没有成功,我使用的是escape
#\$
1234 | CSI | MAN | NO | MANN |1212 | N