我正在阅读how to model tree structures in MongoDB并遇到this article,其中以逗号分隔的路径字符串为例。在示例中,字符串以逗号开头,我想知道是否有一个原因或好处,只是在列表中的每个项目后面都有一个逗号?
我将这篇文章标记为特定于RegEx的原因是,在Java中我不想在开头使用逗号,因为我会使用...将字符串解析为数组...
String[] array = string.split(",");
...在PHP中我会使用...
$array = explode(",", $string);
在其中任何一种情况下,使用逗号开始字符串将导致$array[0]
处的空字符串。
提前致谢!
答案 0 :(得分:2)
指向正则表达式比有条件地执行/^[^,]SomeTopic,*
答案 1 :(得分:2)
该示例不使用split
类型函数,而是执行涉及查看字符串中字符的内容。
“guard”前导分隔符是这样的,如果您想要在单个条目aaa
中找到:
",zzzaaa,bbb,aaa,zzz"
如果您搜索,aaa,
,则可以搜索zzzaaa
,从而避免aaa,
的错误匹配。
答案 2 :(得分:1)
在您引用的文章中,这有一个好处,因为使用了正则表达式/,Programming,/
。它只是在单词后面和之前搜索带逗号的单词。如果你将逗号留在字符串的开头,你还需要处理这个问题,因为RegEx找不到Programming,
。